maven-release-pluginが動作しなかった話

結論

解決を試みたが、わからなかったため、手動でバージョンを変えることにした。

前提

STSからmavenを実行する。

作成したプロジェクトのmavenバージョン管理を手でやりたくなかったので、プラグインがあるということで、それを使うことにした。

しかし、以下のエラーが発生した。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project nyaan: Failed to invoke Maven build.: Error configuring command-line. Reason: Maven executable not found at: C:\Users\dev\git\nyaan\nyaan\EMBEDDED\bin\mvn.bat -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

そこでオプションで -X を追加したところ以下のエラーが得られた。

[DEBUG] Using ${maven.home} of: 'C:\Users\dev\git\nyaan\nyaan\EMBEDDED'.[DEBUG] Using ${maven.home} of: 'C:\Users\dev\git\nyaan\nyaan\EMBEDDED'.[INFO] [1m------------------------------------------------------------------------[m[INFO] [1;31mBUILD FAILURE[m[INFO] [1m------------------------------------------------------------------------[m[INFO] Total time:  3.906 s[INFO] Finished at: 2020-09-27T19:37:20+09:00[INFO] [1m------------------------------------------------------------------------[m[ERROR] Failed to execute goal [32morg.apache.maven.plugins:maven-release-plugin:2.5.1:prepare[m [1m(default-cli)[m on project [36mnyaan[m: [1;31mFailed to invoke Maven build.[m: Error configuring command-line. Reason: Maven executable not found at: C:\Users\dev\git\nyaan\nyaan\EMBEDDED\bin\mvn.bat -> [1m[Help 1][morg.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal [32morg.apache.maven.plugins:maven-release-plugin:2.5.1:prepare[m [1m(default-cli)[m on project [36mnyaan[m: [1;31mFailed to invoke Maven build.[m at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) 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:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) 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:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to invoke Maven build. 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:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) ... 20 moreCaused by: org.apache.maven.shared.release.ReleaseExecutionException: Failed to invoke Maven build. at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:89) at org.apache.maven.shared.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:44) at org.apache.maven.shared.release.phase.RunPrepareGoalsPhase.simulate(RunPrepareGoalsPhase.java:57) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:228) 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) ... 23 moreCaused by: org.apache.maven.shared.release.exec.MavenExecutorException: Failed to invoke Maven build. at org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:420) at org.apache.maven.shared.release.exec.AbstractMavenExecutor.executeGoals(AbstractMavenExecutor.java:110) at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:81) ... 30 moreCaused by: org.apache.maven.shared.invoker.MavenInvocationException: Error configuring command-line. Reason: Maven executable not found at: C:\Users\dev\git\nyaan\nyaan\EMBEDDED\bin\mvn.bat at org.apache.maven.shared.invoker.DefaultInvoker.execute(DefaultInvoker.java:105) at org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:404) ... 32 moreCaused by: org.apache.maven.shared.invoker.CommandLineConfigurationException: Maven executable not found at: C:\Users\dev\git\nyaan\nyaan\EMBEDDED\bin\mvn.bat at org.apache.maven.shared.invoker.MavenCommandLineBuilder.findMavenExecutable(MavenCommandLineBuilder.java:606) at org.apache.maven.shared.invoker.MavenCommandLineBuilder.build(MavenCommandLineBuilder.java:68) at org.apache.maven.shared.invoker.DefaultInvoker.execute(DefaultInvoker.java:101) ... 33 more[ERROR] [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

解決方法

 C:\Users\dev\git\nyaan\nyaan\EMBEDDED\bin\mvn.bat がないから、ここにファイルを置いた。

ファイルは

C:\Users\dev\git\nyaan\nyaan\mvn.cmd

からコピーしてきた。

しかし、これでも変化は見られなかった。

スタックオーバーフローには、Eclipseから実行すべきではないといったことが書かれていたが、そんなことはないだろうと思った。

デバッグモードで実行すると、以下の表記が。

そもそもEMBEDDEDってなんだ?

Maven home: C:\Users\dev\git\nyaan\nyaan\EMBEDDED

コマンドプロンプトから、mvn -vを叩く。

Maven home: C:\apache-maven-3.6.3\bin\..

なぜ違うんだ?STSの設定か?

f:id:yamada_1221:20200927203357p:plain

どうやらSTSの設定だったらしい。

EMBEDDEDからapache-maven-3.6.3(追加した)に切り替えた。

mavenHomeは変わらなかったので、組み込みランタイムが使われているようだ。

 

やはり、Jenkinsからリリースするしかないのだろうか?