[英]jarsigner error for maven build using java 1.8
I'm trying to build a maven project. 我正在尝试建立一个Maven项目。 However getting below error: 但是出现以下错误:
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)
My env variables: 我的环境变量:
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
It looks like your JAVA_HOME
is incorrect: verify if /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/jarsigner
exists. 看来您的JAVA_HOME
不正确:验证/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/jarsigner
是否存在。 AFAIK it only exists in the JDK and not the JRE. AFAIK仅存在于JDK中,而不存在于JRE中。
I recently ran in to this issue on Mac OS Sierra. 我最近在Mac OS Sierra上遇到了这个问题。 For whatever when Maven is trying to sign jars it is trying to use jarsigner
from JAVA_HOME/jre/bin
, but there is no jarsigner
executable in there, it's at JAVA_HOME/bin
. 无论什么时候Maven是试图签下这是试图用罐子jarsigner
从JAVA_HOME/jre/bin
,但没有jarsigner
在里面的可执行文件,它在JAVA_HOME/bin
。
Creating a symbolic link to jarsigner in the JAVA_HOME/jre/bin
directory seemed to have fixed this problem for me going forward. 在JAVA_HOME/jre/bin
目录中创建指向jarsigner的符号链接似乎已经解决了此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.