Support wrapper:wrapper 'only-script' distributionType
Starting from Wrapper Plugin 3.0 only-script is default distributionType for generate the mvnw/mvnw.cmd script, which no longer uses WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain, and it replaced by org.codehaus.plexus.classworlds.launcher.Launcher.
Version 1.21.0 of this plugin uses org.apache.maven.wrapper.MavenWrapperMain to determine whether it is in wrapper mode, here: https://github.com/aleksandr-m/gitflow-maven-plugin/blob/b6c391f287c4b02de7effebdf62fa0f2ce3d2a4f/src/main/java/com/amashchenko/maven/plugin/gitflow/AbstractGitFlowMojo.java#L281-L285
This will cause the automatic usage of the wrapper to fail.
"E:\bin\OpenJDK17U-jdk_x64_windows_hotspot_17.0.9_9\jdk-17.0.9+9\bin\java.exe"
-classpath
"C:\Users\xiaoyao9184\.m2\wrapper\dists\apache-maven-3.8.5\b22ce2a0244a1c8678032ad5dfb095c0\boot\plexus-classworlds-2.6.0.jar"
"-Dclassworlds.conf=C:\Users\xiaoyao9184\.m2\wrapper\dists\apache-maven-3.8.5\b22ce2a0244a1c8678032ad5dfb095c0\bin\m2.conf"
"-Dmaven.home=C:\Users\xiaoyao9184\.m2\wrapper\dists\apache-maven-3.8.5\b22ce2a0244a1c8678032ad5dfb095c0"
"-Dlibrary.jansi.path=C:\Users\xiaoyao9184\.m2\wrapper\dists\apache-maven-3.8.5\b22ce2a0244a1c8678032ad5dfb095c0\lib\jansi-native"
"-Dmaven.multiModuleProjectDirectory=z:\@maven\example-maven-gitflow-plugin"
org.codehaus.plexus.classworlds.launcher.Launcher
gitflow:feature-start
-f "z:\@maven\example-maven-gitflow-plugin\pom.xml"
-Dverbose='true'
-X
Caused by: org.apache.maven.plugin.MojoFailureException: Failed cmd [mvn] with args [[-DgenerateBackupPoms=false, -DnewVersion=0.0.1-test-SNAPSHOT, org.codehaus.mojo:versions-maven-plugin:2.16.0:set]], bad exit code [1]. Out: ['mvn' is not recognized as an internal or external command, operable program or batch file.]
at com.amashchenko.maven.plugin.gitflow.AbstractGitFlowMojo.executeCommand (AbstractGitFlowMojo.java:1373)
at com.amashchenko.maven.plugin.gitflow.AbstractGitFlowMojo.executeMvnCommand (AbstractGitFlowMojo.java:1318)
at com.amashchenko.maven.plugin.gitflow.AbstractGitFlowMojo.mvnSetVersions (AbstractGitFlowMojo.java:1187)
at com.amashchenko.maven.plugin.gitflow.GitFlowFeatureStartMojo.execute (GitFlowFeatureStartMojo.java:124)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
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:127)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
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:960)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
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)
I think I hit a similar problem. running the build with ./mvn initially, will at some point switch to mvn . I my case it will fail because the version of maven in the path is too old.
The good point is that I could use a workaround:
in the pom.xml
<mvnExecutable>./mvnw</mvnExecutable>
Log of the error
[ERROR] Failed to execute goal com.amashchenko.maven.plugin:gitflow-maven-plugin:1.21.0:release-finish (default-cli) on project xxxx-xxxxx: release-finish:
Failed cmd ['mvn'] with args [[deploy, -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn, --no-transfer-progress, -B, -f, pom.xml, -Dmaven.test.skip=true]],
bad exit code [1].
Out: [
...
]
The recap of the ... is roughly (but not important here):
[ERROR] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.1.3:install (default-install) on project xxxx-xxxxx:
The plugin org.apache.maven.plugins:maven-install-plugin:3.1.3 requires Maven version 3.6.3 -> [Help 1]