使用java 1.8的maven构建的jarsigner错误
我正在尝试建立一个maven项目。但是,以下错误:
Caused by: org.apache.maven.plugin.MojoExecutionException: Result of /bin/sh -c "cd /Users/rokde/Documents/workspace/mfc/map-coder/coder-web/target/jnlpStandalone && /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/jarsigner -keystore ../../******.jks -storepass ****** -keypass ****** -signedjar /Users/rokde/Documents/workspace/mfc/map-coder/coder-web/target/jnlpStandalone/coder-model-22.07-SNAPSHOT.jar -storetype jks /Users/rokde/Documents/workspace/mfc/map-coder/coder-web/target/jnlpStandalone/unprocessed_coder-model-22.07-SNAPSHOT.jar ******" execution is: '127'.
at org.apache.maven.plugin.jar.JarSignMojo.signJar(JarSignMojo.java:344)
at org.apache.maven.plugin.jar.JarSignMojo.execute(JarSignMojo.java:241)
at org.codehaus.mojo.webstart.AbstractBaseJnlpMojo.signJars(AbstractBaseJnlpMojo.java:733)
at org.codehaus.mojo.webstart.AbstractBaseJnlpMojo.signOrRenameJars(AbstractBaseJnlpMojo.java:609)
at org.codehaus.mojo.webstart.JnlpDownloadServletMojo.execute(JnlpDownloadServletMojo.java:139)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
我的环境变量:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
export PATH=/Users/rokde/Downloads/apache-maven-3.3.9/bin:$PATH
# 1 楼答案
我最近在Mac OS Sierra上遇到了这个问题。因为无论Maven在尝试对JAR进行签名时,它都试图使用来自
JAVA_HOME/jre/bin
的jarsigner
,但其中没有jarsigner
可执行文件,它位于JAVA_HOME/bin
在
JAVA_HOME/jre/bin
目录中创建指向jarsigner的符号链接似乎已经解决了这个问题# 2 楼答案
看起来你的
JAVA_HOME
不正确:验证/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/jarsigner
是否存在。好吧,它只存在于JDK中,而不存在于JRE中