简体   繁体   English

使用Java 1.8构建Maven的jarsigner错误

[英]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是试图签下这是试图用罐子jarsignerJAVA_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM