有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用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

共 (2) 个答案

  1. # 1 楼答案

    我最近在Mac OS Sierra上遇到了这个问题。因为无论Maven在尝试对JAR进行签名时,它都试图使用来自JAVA_HOME/jre/binjarsigner,但其中没有jarsigner可执行文件,它位于JAVA_HOME/bin

    JAVA_HOME/jre/bin目录中创建指向jarsigner的符号链接似乎已经解决了这个问题

  2. # 2 楼答案

    看起来你的JAVA_HOME不正确:验证/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/jarsigner是否存在。好吧,它只存在于JDK中,而不存在于JRE中