4

我只是試圖用maven-release-plugin發佈我的Java 9兼容項目。然而,它沒有在maven-compiler-pluginmaven-release-plugin是否與Java 9兼容?

未能執行目標 org.apache.maven.plugins:Maven的編譯器插件:3.7.0:編譯 (默認編譯)項目電子郵件:致命錯誤編譯:無效 目標版本:9

有趣的是maven-compiler-plugin工作的情況下,罰款我運行它獨立。 我的設置:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.7.0</version> 
      <configuration> 
       <source>9</source> 
       <target>9</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.5.3</version> 
      <configuration> 
       <autoVersionSubmodules>true</autoVersionSubmodules> 
       <tagNameFormat>[email protected]{project.version}</tagNameFormat> 
      </configuration> 
     </plugin> 

Maven version 3.5.0。

mvn clean install工作正常;

mvn release:prepare release:perform -DignoreSnapshots=true由於上述例外而失敗。

調試輸出:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project blynk: Maven execution failed, exit code: '1' -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project blynk: Maven execution failed, exit code: '1' 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:191) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.base/java.lang.reflect.Method.invoke(Method.java:564) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Maven execution failed, exit code: '1' 
    at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:290) 
    at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:240) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 21 more 
Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1' 
    at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:91) 
    at org.apache.maven.shared.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:44) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:234) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146) 
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107) 
    at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:286) 
    ... 24 more 
Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1' 
    at org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:433) 
    at org.apache.maven.shared.release.exec.AbstractMavenExecutor.executeGoals(AbstractMavenExecutor.java:114) 
    at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:85) 
    ... 30 more 

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project email: Fatal error compiling: invalid target release: 9 -> [Help 1] 
[INFO] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project email: Fatal error compiling 
[INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 
[INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 
[INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 
[INFO] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) 
[INFO] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) 
[INFO] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
[INFO] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
[INFO] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) 
[INFO] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) 
[INFO] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) 
[INFO] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993) 
[INFO] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345) 
[INFO] at org.apache.maven.cli.MavenCli.main(MavenCli.java:191) 
[INFO] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[INFO] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
[INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[INFO] at java.lang.reflect.Method.invoke(Method.java:498) 
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
[INFO] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
[INFO] Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling 
[INFO] at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1086) 
[INFO] at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:168) 
[INFO] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
[INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
[INFO] ... 20 more 
[INFO] Caused by: org.codehaus.plexus.compiler.CompilerException: invalid target release: 9 
[INFO] at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:173) 
[INFO] at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174) 
[INFO] at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1075) 
[INFO] ... 23 more 
[INFO] Caused by: java.lang.IllegalArgumentException: invalid target release: 9 
[INFO] at com.sun.tools.javac.main.OptionHelper$GrumpyHelper.error(OptionHelper.java:103) 
[INFO] at com.sun.tools.javac.main.Option$12.process(Option.java:216) 
[INFO] at com.sun.tools.javac.api.JavacTool.processOptions(JavacTool.java:217) 
[INFO] at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:156) 
[INFO] at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:107) 
[INFO] at com.sun.tools.javac.api.JavacTool.getTask(JavacTool.java:64) 
[INFO] at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:125) 
[INFO] ... 25 more 
+0

但它沒有'maven-release-plugin'。 –

+0

您可以在這種情況下分享構建的失敗日誌和更多詳細信息。使用'-X'調試模式。 – nullpointer

+0

好點。添加。 –

回答

4

按照Java+9+-+Jigsaw它被更新最近沒有在maven-release-plugin爲與JDK9兼容需要或期望改變。

此外,在問題中共享的日誌中,您的案例中的輸出似乎是由於配置錯誤的Maven與Java版本小於9


當我面臨着類似的問題,我已經注意到,使用sudo執行,通常在命令提示符下是不同的,當使用Maven的Java版本。


要堅持以行家用java的版本一致確保您有配置mavenrc。你可以做,以類似的方式,以這樣的:

vi ~/.mavenrc 

,然後用內容保存如下:

export PATH 
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home 
export PATH=${PATH}:$JAVA_HOME/bin 

執行

mvn -version 

,並確保其輸出通過命令提示符智能終端是一致的。

0

==========如果您使用Heroku的===========

轉到system.properties並設置:

java.runtime.version=9 

而且將以下內容添加到pom中。xml for maven:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.6.2</version> 
    <configuration> 
     <source>9</source> 
     <target>9</target> 
    </configuration> 
</plugin> 

檢查this out。