mojohaus / appassembler

https://www.mojohaus.org/appassembler/
MIT License
93 stars 49 forks source link

Support automatic classpath expansion in generated scripts #118

Closed aalmiray closed 3 years ago

aalmiray commented 3 years ago

The launch script will fail [on Windows] if the list of application dependencies is too large. This is because the calculation of the CLASSPATH variable includes every single dependency; the concatenation of the final command line makes it too big for the Windows shell.

However since Java 7 it's possible to use a * as part of the classpath definition, which will instruct the JVM to load all JARs found at the specified location.

This is a request to add an option to select if classpath expansion is enabled or not (to keep with previous behavior and/or when classpath expansion is not desired for whatever reason).

In https://github.com/mojohaus/appassembler/blob/master/appassembler-maven-plugin/src/main/resources/org/codehaus/mojo/appassembler/daemon/script/unixBinTemplate

CLASSPATH="$REPO/*"

In https://github.com/mojohaus/appassembler/blob/master/appassembler-maven-plugin/src/main/resources/org/codehaus/mojo/appassembler/daemon/script/windowsBinTemplate

set CLASSPATH="%REPO%\*"
khmarbaise commented 3 years ago

Hi Andres, can you please check https://www.mojohaus.org/appassembler/appassembler-maven-plugin/generate-daemons-mojo.html#useWildcardClassPath ? The * is possible since Java 6 as far as I know. Or do I miss something here?

aalmiray commented 3 years ago

No, no, you didn't miss anything, it was me. Somehow I completely missed that setting when looking at the documentation. It works as advertised. Closing.