[
https://issues.apache.org/jira/browse/MWRAPPER-83?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17635041#comment-17635041
]
Scott Kurz commented on MWRAPPER-83:
------------------------------------
Under [https://maven.apache.org/wrapper/#supported-systems] it seems to imply
that using zsh is a legitimate use case.
I think it will work normally with zsh using an interactive shell.
For the case I mentioned running the shell from another process, turning on the
SH_WORD_SPLIT seems to fix the problem.
$ zsh -o shwordsplit mvnw validate
> mvnw fails in zsh due to empty MAVEN_OPTS variable
> --------------------------------------------------
>
> Key: MWRAPPER-83
> URL: https://issues.apache.org/jira/browse/MWRAPPER-83
> Project: Maven Wrapper
> Issue Type: Bug
> Components: Maven Wrapper Scripts
> Affects Versions: 3.1.1
> Reporter: Scott Kurz
> Priority: Major
>
> Running mvnw in zsh, I get:
> {quote}*Error: Could not find or load main class*
> *Caused by: java.lang.ClassNotFoundException:*
> {quote}
> h4. Recreate Instructions
> # docker run -it ubuntu:focal-20221019 # next instructions are within
> Docker container
> # apt update; apt install default-jdk maven zsh -y # still have to
> interactively make a location selection
> # export JAVA_HOME=/usr
> # mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes
> -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4
> -DgroupId=demo -DartifactId=app -Dversion=1.0
> # cd app
> # mvn org.apache.maven.plugins:maven-wrapper-plugin:3.1.1:wrapper
> # bash mvnw validate # good, works
> # zsh mvnw validate # bad, recreates problem
>
> {*}Thoughts{*}{*}{*}
> The problem centers around the different behavior of bash, zsh (at least with
> the versions in this recreate) in interpreting the expansion of the "empty"
> MAVEN_OPTS variable. With *bash* this gets resolved to nothing whereas in
> *zsh* this is resolved to a ' ' string, which the *java* executable seems to
> treat as the main class argument, and thus fails.
> Maybe someone more familiar with shell options knows a workaround, but given
> this seems to happen with the default options in the above environment, it
> seems worth addressing in the script.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)