Closed kristofdho closed 4 years ago
I completely missed the duplicate, apologies.
I'm not well versed with the whole forking stuff, so here's a possible patch of what I described
There is a PR in GraalVM that would allow us to fix this problem using argument files. Once that is available, we'll update substrate to make use of that.
There is a PR in GraalVM that would allow us to fix this problem using argument files. Once that is available, we'll update substrate to make use of that.
This does look like a different use-case to me though, the issue you mention calls the java version of native image, which passes the argument file to java. Here however we are calling the native-image exe (or cmd which in turn calls the exe) and the number of arguments here is already too long, so it won't ever make it to the code of the issue you mention.
There is a PR in GraalVM that would allow us to fix this problem using argument files. Once that is available, we'll update substrate to make use of that. oracle/graal#2443
This does look like a different use-case to me though, the issue you mention calls the java version of native image, which passes the argument file to java. Here however we are calling the native-image exe (or cmd which in turn calls the exe) and the number of arguments here is already too long, so it won't ever make it to the code of the issue you mention.
native-image.exe
is native image compiled version of java NativeImage
class :)
There is a PR in GraalVM that would allow us to fix this problem using argument files. Once that is available, we'll update substrate to make use of that. oracle/graal#2443
This does look like a different use-case to me though, the issue you mention calls the java version of native image, which passes the argument file to java. Here however we are calling the native-image exe (or cmd which in turn calls the exe) and the number of arguments here is already too long, so it won't ever make it to the code of the issue you mention.
native-image.exe
is native image compiled version of javaNativeImage
class :)
Yes, but the ProcessBuilder
inside the maven plugin calling native-image.exe
throws the exception, not the one inside native-image.exe
.
I believe what @lazar-mitrovic is trying to say say, is that we could call NativeImage from java instead? From there we could fallback to using the @ file arguments that are supported by default from java.
Apparently, you can only pass options to the java program from a file and not the command line arguments. So that is not going to work.
The only solutions I see for now are:
native-image
itself@lazar-mitrovic Do you think it's doable to add such an option to native-image? Compiling the most basic JavaFX application already gives the following command line:
C:\tools\graalvm-ce-java11-20.2.0-dev\bin\native-image.cmd --report-unsupported-elements-at-runtime "-Djdk.internal.lambda.eagerlyInitialize=false" --no-server -H:+ExitAfterRelocatableImageWrite -H:+SharedLibrary -H:+AddAllCharsets -H:+ReportExceptionStackTraces -H:-DeadlockWatchdogExitOnTimeout "-H:DeadlockWatchdogInterval=0" -H:+RemoveSaturatedTypeFlows "--features=org.graalvm.home.HomeFinderFeature" "-H:TempDirectory=C:\jenkins\workspace\substrate-integration-test-windows\hellofx\build\autoclient\x86_64-windows\gvm\tmp" "-H:EnableURLProtocols=http,https" "-H:ReflectionConfigurationFiles=C:\jenkins\workspace\substrate-integration-test-windows\hellofx\build\autoclient\x86_64-windows\gvm\reflectionconfig-x86_64-windows.json" "-H:JNIConfigurationFiles=C:\jenkins\workspace\substrate-integration-test-windows\hellofx\build\autoclient\x86_64-windows\gvm\jniconfig-x86_64-windows.json" "-H:ResourceConfigurationFiles=C:\jenkins\workspace\substrate-integration-test-windows\hellofx\build\autoclient\x86_64-windows\gvm\resourceconfig-x86_64-windows.json" "-H:IncludeResourceBundles=com/sun/javafx/scene/control/skin/resources/controls,com/sun/javafx/scene/control/skin/resources/controls-nt,com.sun.javafx.tk.quantum.QuantumMessagesBundle" "-Dsvm.platform=org.graalvm.nativeimage.Platform$WINDOWS_AMD64" -cp "C:\jenkins\workspace\substrate-integration-test-windows\test-project\helloFX\build\classes\java\main;C:\jenkins\workspace\substrate-integration-test-windows\test-project\helloFX\build\resources\main;C:\jenkins\workspace\substrate-integration-test-windows\openjfx-15-latest-windows-x86_64-static-sdk\lib\javafx.controls.jar;C:\jenkins\workspace\substrate-integration-test-windows\openjfx-15-latest-windows-x86_64-static-sdk\lib\javafx.graphics.jar;C:\jenkins\workspace\substrate-integration-test-windows\openjfx-15-latest-windows-x86_64-static-sdk\lib\javafx.base.jar" com.gluonhq.substrate.test.Main
If the classpath becomes really long, the command line limit might be exceeded quickly. If @ argument files would be supported in native-image, the above command could then be shortened to:
C:\tools\graalvm-ce-java11-20.2.0-dev\bin\native-image.cmd @C:\tmp\native-image-args.txt com.gluonhq.substrate.test.Main
We used to invoke NativeImage.build() (or similar) from substrate, but then switched to invoking native-image as a command.
Would it make sense to go back to the original approach where we call methods on NativeImage? This requires Substrate to depend on the svm.jar and related jars, so it means invoking Substrate should be done with a priori knowledge about the location of GRAALVM_HOME.
Hi, I keep getting the exception when compiling a native image application on windows in release 20.3. Follows trace and graalvm versions used
openjdk version "11.0.9" 2020-10-20 OpenJDK Runtime Environment GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06) OpenJDK 64-Bit Server VM GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06, mixed mode, sharing)
C:\Enviroment\graalvm-ce-java11-20.3.0\bin\native-image.cmd -cp C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\server\dto\s1-server-dto\1.33.9\s1-server-dto-1.33.9.jar;C:\Users\ContainerAdministrator\.m2\ repository\br\com\sysmo\s1\server\pdv\sincronizacao\service\s1-server-pdv-sincronizacao-service\1.33.1\s1-server-pdv-sincronizacao-service-1.33.1.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\sincronizac ao\repository\s1-server-pdv-sincronizacao-repository\1.33.1\s1-server-pdv-sincronizacao-repository-1.33.1.jar;C:\Users\ContainerAdministrator\.m2\repository\com\querydsl\querydsl-jpa\4.3.1\querydsl-jpa-4.3.1.jar;C:\Users\ContainerAdmin istrator\.m2\repository\com\querydsl\querydsl-core\4.3.1\querydsl-core-4.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\com\mysema\commons\mysema-commons-lang\0.2.4\mysema-commons-lang-0.2.4.jar;C:\Users\ContainerAdministrator\ .m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\sincronizacao\util\s1-server-pdv-sincronizacao-util\1.33.1\s1-server-pdv-sincronizacao-util-1.33.1. jar;C:\Users\ContainerAdministrator\.m2\repository\org\projectlombok\lombok\1.18.12\lombok-1.18.12.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\promocao\sincronizacao\s1-server-promocao-sincronizacao\1.33.3 \s1-server-promocao-sincronizacao-1.33.3.jar;C:\Users\ContainerAdministrator\.m2\repository\io\github\openfeign\feign-core\10.2.3\feign-core-10.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\io\github\openfeign\feign-slf4j\10.2 .3\feign-slf4j-10.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\io\github\openfeign\feign-jackson\10.2.3\feign-jackson-10.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.11. 0\jackson-databind-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\io\github\openfeign\feign-jaxrs\10.2.3\feign-jaxrs-10.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\javax\ws\rs\jsr311-api\1.1.1\jsr311-api-1.1.1.jar ;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\promocao\service\s1-server-promocao-service\1.33.3\s1-server-promocao-service-1.33.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-c ontext\5.2.7.RELEASE\spring-context-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-expression\5.2.7.RELEASE\spring-expression-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository \org\springframework\spring-aspects\5.2.7.RELEASE\spring-aspects-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\aspectj\aspectjweaver\1.9.5\aspectjweaver-1.9.5.jar;C:\Users\ContainerAdministrator\.m2\repository\br \com\sysmo\s1\server\promocao\repository\s1-server-promocao-repository\1.33.3\s1-server-promocao-repository-1.33.3.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\promocao\util\s1-server-promocao-util\1.33.3\s 1-server-promocao-util-1.33.3.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\server\util\s1-server-util\1.33.9\s1-server-util-1.33.9.jar;C:\Users\ContainerAdministrator\.m2\repository\io\springfox\springfox-swagger2\2. 9.2\springfox-swagger2-2.9.2.jar;C:\Users\ContainerAdministrator\.m2\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;C:\Users\ContainerAdministrator\.m2\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2. 9.2.jar;C:\Users\ContainerAdministrator\.m2\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;C:\Users\ContainerAdministrator\.m2\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;C:\Users\Co ntainerAdministrator\.m2\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;C:\Users\ContainerAdministrator\.m2\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;C: \Users\ContainerAdministrator\.m2\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\plugin\spring-plugin-metad ata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\org\ini4j\ini4j\0.5. 4\ini4j-0.5.4.jar;C:\Users\ContainerAdministrator\.m2\repository\com\querydsl\querydsl-apt\4.3.1\querydsl-apt-4.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\com\querydsl\querydsl-codegen\4.3.1\querydsl-codegen-4.3.1.jar;C:\Us ers\ContainerAdministrator\.m2\repository\com\mysema\codegen\codegen\0.6.8\codegen-0.6.8.jar;C:\Users\ContainerAdministrator\.m2\repository\org\eclipse\jdt\core\compiler\ecj\4.3.1\ecj-4.3.1.jar;C:\Users\ContainerAdministrator\.m2\repos itory\com\querydsl\querydsl-collections\4.3.1\querydsl-collections-4.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\junit\junit\4.13\junit-4.13.jar;C:\Users\ContainerAdministrator\.m2\repository\org\hamcrest\hamcrest-core\2.2\h amcrest-core-2.2.jar;C:\Users\ContainerAdministrator\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\ContainerAdministrator\.m2\repository\commons-net\commons-net\3.6\commons-net-3.6.jar;C:\Users\ContainerAdministrat or\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\ContainerAdministrator\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\net\minidev\accessors -smart\1.2\accessors-smart-1.2.jar;C:\Users\ContainerAdministrator\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\ContainerAdministrator\.m2\repository\commons-codec\commons-codec\1.14\commons -codec-1.14.jar;C:\Users\ContainerAdministrator\.m2\repository\org\modelmapper\extensions\modelmapper-spring\2.3.4\modelmapper-spring-2.3.4.jar;C:\Users\ContainerAdministrator\.m2\repository\org\modelmapper\modelmapper\2.3.4\modelmappe r-2.3.4.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-xml\2.11.0\jackson-dataformat-xml-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jackson\module\jac kson-module-jaxb-annotations\2.11.0\jackson-module-jaxb-annotations-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\ContainerAdministra tor\.m2\repository\org\codehaus\woodstox\stax2-api\4.2\stax2-api-4.2.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\woodstox\woodstox-core\6.2.0\woodstox-core-6.2.0.jar;C:\Users\ContainerAdministrator\.m2\repository\j avax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\com\google\code\findbugs\jsr305\1.3.9\jsr305-1.3.9.jar;C:\Users\ContainerAdministrator\.m2\repository\com\google\c ode\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\ContainerAdministrator\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\caelum\stella\caelum-stella-core\2.1.2\caelum-stella-cor e-2.1.2.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\server\javanfe\s1-server-javanfe\1.33.4\s1-server-javanfe-1.33.4.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\swconsultoria\java-nfe\4.00.13\java-nfe- 4.00.13.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\swconsultoria\java_certificado\2.3\java_certificado-2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3 .1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\bouncycastle\bcprov-jdk16\1.46\bcprov-jdk16-1.46.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\httpcomponents\httpcore\4.4.13\httpcore-4.4.13.jar;C:\Users\Contai nerAdministrator\.m2\repository\com\sun\xml\bind\jaxb-impl\2.3.1\jaxb-impl-2.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\com\sun\xml\bind\jaxb-xjc\2.3.1\jaxb-xjc-2.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\com\s un\xml\bind\jaxb-core\2.3.0.1\jaxb-core-2.3.0.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\axis2\axis2-kernel\1.7.5\axis2-kernel-1.7.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\ws\commons\axiom\ax iom-impl\1.2.20\axiom-impl-1.2.20.jar;C:\Users\ContainerAdministrator\.m2\repository\org\codehaus\woodstox\woodstox-core-asl\4.2.0\woodstox-core-asl-4.2.0.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\ger onimo-ws-metadata_2.0_spec\1.1.2\geronimo-ws-metadata_2.0_spec-1.1.2.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-jta_1.1_spec\1.1\geronimo-jta_1.1_spec-1.1.jar;C:\Users\ContainerAdministrator\. m2\repository\commons-fileupload\commons-fileupload\1.3.1\commons-fileupload-1.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\wsdl4j\wsdl4j\1.6.3\wsdl4j-1.6.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\ws\xml schema\xmlschema-core\2.2.1\xmlschema-core-2.2.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\neethi\neethi\3.0.3\neethi-3.0.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\woden\woden-core\1.0M10\woden -core-1.0M10.jar;C:\Users\ContainerAdministrator\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\axis2\axis2-adb\1.7.5\axis2-adb-1.7.5.jar;C:\User s\ContainerAdministrator\.m2\repository\org\apache\ws\commons\axiom\axiom-dom\1.2.20\axiom-dom-1.2.20.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-activation_1.1_spec\1.0.2\geronimo-activation_1 .1_spec-1.0.2.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\axis2\axis2-jaxws\1.7.5\axis2-jaxws-1.7.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-annotation_1.0_spec\1.1\geronim o-annotation_1.0_spec-1.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-jaxws_2.2_spec\1.0\geronimo-jaxws_2.2_spec-1.0.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\axis2\axis2-sa aj\1.7.5\axis2-saaj-1.7.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-saaj_1.3_spec\1.0.1\geronimo-saaj_1.3_spec-1.0.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\axis2\axis2- metadata\1.7.5\axis2-metadata-1.7.5.jar;C:\Users\ContainerAdministrator\.m2\repository\com\sun\xml\ws\jaxws-tools\2.1.3\jaxws-tools-2.1.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-javamail_1. 4_spec\1.6\geronimo-javamail_1.4_spec-1.6.jar;C:\Users\ContainerAdministrator\.m2\repository\xml-resolver\xml-resolver\1.2\xml-resolver-1.2.jar;C:\Users\ContainerAdministrator\.m2\repository\xalan\xalan\2.7.0\xalan-2.7.0.jar;C:\Users\C ontainerAdministrator\.m2\repository\org\apache\axis2\axis2-transport-http\1.7.5\axis2-transport-http-1.7.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\httpcomponents\httpclient\4.5.12\httpclient-4.5.12.jar;C:\Users\C ontainerAdministrator\.m2\repository\org\apache\axis2\axis2-transport-local\1.7.5\axis2-transport-local-1.7.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\ws\commons\axiom\axiom-api\1.2.20\axiom-api-1.2.20.jar;C:\Users \ContainerAdministrator\.m2\repository\jaxen\jaxen\1.2.0\jaxen-1.2.0.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\geronimo\specs\geronimo-stax-api_1.0_spec\1.0.1\geronimo-stax-api_1.0_spec-1.0.1.jar;C:\Users\ContainerA dministrator\.m2\repository\org\apache\james\apache-mime4j-core\0.7.2\apache-mime4j-core-0.7.2.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.3.1.RELEASE\spring-boot-starter-web-2. 3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.3.1.RELEASE\spring-boot-starter-json-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jack son\datatype\jackson-datatype-jdk8\2.11.0\jackson-datatype-jdk8-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.0\jackson-module-parameter-names-2.11.0.jar;C:\U sers\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.3.1.RELEASE\spring-boot-starter-tomcat-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\tomcat\embed\tomcat-emb ed-core\9.0.36\tomcat-embed-core-9.0.36.jar;C:\Users\ContainerAdministrator\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocke t\9.0.36\tomcat-embed-websocket-9.0.36.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-web\5.2.7.RELEASE\spring-web-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spri ng-webmvc\5.2.7.RELEASE\spring-webmvc-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\venda\api\s1-server-pdv-venda-api\1.33.14\s1-server-pdv-venda-api-1.33.14-mono.jar;C:\Users\ContainerAdmi nistrator\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.3.1.RELEASE\spring-boot-starter-data-jpa-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter-aop \2.3.1.RELEASE\spring-boot-starter-aop-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\jakarta\transaction\jakarta.transaction-api\1.3.3\jakarta.transaction-api-1.3.3.jar;C:\Users\ContainerAdministrator\.m2\repository\ jakarta\persistence\jakarta.persistence-api\2.2.3\jakarta.persistence-api-2.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.3.1.RELEASE\spring-boot-starter-jdbc-2.3.1.RELEASE.j ar;C:\Users\ContainerAdministrator\.m2\repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-context-support\5.2.7.RELEASE\spring-context-support-5.2.7.RELEASE .jar;C:\Users\ContainerAdministrator\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;C:\Users\ContainerAdministrator\.m2\repository\commons-io\commons-io\2.6\commons-io-2.6.jar;C:\Users\ContainerAdm inistrator\.m2\repository\org\springframework\spring-jdbc\5.2.7.RELEASE\spring-jdbc-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-beans\5.2.7.RELEASE\spring-beans-5.2.7.RELEASE.jar;C:\Users \ContainerAdministrator\.m2\repository\org\springframework\spring-core\5.2.7.RELEASE\spring-core-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-jcl\5.2.7.RELEASE\spring-jcl-5.2.7.RELEASE.jar ;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-tx\5.2.7.RELEASE\spring-tx-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\venda\intercomm\s1-server-pdv-venda-inter comm\1.33.14\s1-server-pdv-venda-intercomm-1.33.14.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\venda\service\s1-server-pdv-venda-service\1.33.14\s1-server-pdv-venda-service-1.33.14.jar;C:\Users\Contain erAdministrator\.m2\repository\javax\el\javax.el-api\2.2.4\javax.el-api-2.2.4.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\venda\repository\s1-server-pdv-venda-repository\1.33.14\s1-server-pdv-venda-rep ository-1.33.14.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\venda\util\s1-server-pdv-venda-util\1.33.14\s1-server-pdv-venda-util-1.33.14.jar;C:\Users\ContainerAdministrator\.m2\repository\org\slf4j\slf 4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\ContainerAdministrator\.m2\repository\br\com\sysmo\s1\server\pdv\venda\sincronizacao\s1-server-pdv-venda-sincronizacao\1.33.14\s1-server-pdv-venda-sincronizacao-1.33.14.jar;C:\Users\Container Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.0\jackson-datatype-jsr310-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.11.0\jackson- annotations-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.11.0\jackson-core-2.11.0.jar;C:\Users\ContainerAdministrator\.m2\repository\org\hibernate\hibernate-entitymanager\5.4.17.Fi nal\hibernate-entitymanager-5.4.17.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\org\hibernate\hibernat e-core\5.4.17.Final\hibernate-core-5.4.17.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\ContainerAdministrator\.m2\repository\org\jboss\jandex\2.1.3.Final\jandex-2.1.3.Final.jar;C:\ Users\ContainerAdministrator\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\ContainerAdministrator\.m2\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;C:\Users\ContainerAd ministrator\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.3\jaxb-runtime-2.3.3.jar;C:\Users\ContainerAdministrator\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\ContainerAdminis trator\.m2\repository\org\glassfish\jaxb\txw2\2.3.3\txw2-2.3.3.jar;C:\Users\ContainerAdministrator\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.11\istack-commons-runtime-3.0.11.jar;C:\Users\ContainerAdministrator\.m2\reposi tory\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;C:\Users\ContainerAdministrator\.m2\repository\org\dom4j\dom4j\2.1.3\dom4j-2.1.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\hibernate\common\hibe rnate-commons-annotations\5.1.0.Final\hibernate-commons-annotations-5.1.0.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\ContainerAdministrato r\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\1.1.1.Final\jboss-transaction-api_1.2_spec-1.1.1.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\com\querydsl\querydsl-sql-spring\4.3.1\querydsl- sql-spring-4.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\com\querydsl\querydsl-sql\4.3.1\querydsl-sql-4.3.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\servicemix\bundles\org.apache.servicemix.bundles.javax -inject\1_2\org.apache.servicemix.bundles.javax-inject-1_2.jar;C:\Users\ContainerAdministrator\.m2\repository\com\infradna\tool\bridge-method-annotation\1.13\bridge-method-annotation-1.13.jar;C:\Users\ContainerAdministrator\.m2\reposit ory\com\github\lwaddicor\spring-startup-analysis\1.1.0\spring-startup-analysis-1.1.0.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;C:\Users\ContainerAdministrator\.m2\re pository\org\antlr\stringtemplate\4.0.2\stringtemplate-4.0.2.jar;C:\Users\ContainerAdministrator\.m2\repository\org\antlr\antlr-runtime\3.3\antlr-runtime-3.3.jar;C:\Users\ContainerAdministrator\.m2\repository\joda-time\joda-time\2.10.6 \joda-time-2.10.6.jar;C:\Users\ContainerAdministrator\.m2\repository\org\hibernate\validator\hibernate-validator\6.1.0.Final\hibernate-validator-6.1.0.Final.jar;C:\Users\ContainerAdministrator\.m2\repository\jakarta\validation\jakarta. validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\ContainerAdministrator\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-orm\5.2.7. RELEASE\spring-orm-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\postgresql\postgresql\42.2.16\postgresql-42.2.16.jar;C:\Users\ContainerAdministrator\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker -qual-3.5.0.jar;C:\Users\ContainerAdministrator\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-context-indexer\5.2.7.RELEASE \spring-context-indexer-5.2.7.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter\2.3.1.RELEASE\spring-boot-starter-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\or g\springframework\boot\spring-boot\2.3.1.RELEASE\spring-boot-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.3.1.RELEASE\spring-boot-autoconfigure-2.3.1.RELEASE.jar; C:\Users\ContainerAdministrator\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.3.1.RELEASE\spring-boot-starter-logging-2.3.1.RELEASE.jar;C:\Users\ContainerAdministrator\.m2\repository\ch\qos\logback\logback-class ic\1.2.3\logback-classic-1.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\lo g4j-to-slf4j-2.13.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\ContainerAdministrator\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar; C:\Users\ContainerAdministrator\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\yaml\snakeyaml\1.26\snakeyaml-1.26.jar;C:\Users\Containe rAdministrator\.m2\repository\org\springframework\data\spring-data-jpa\2.4.0\spring-data-jpa-2.4.0.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\spring-aop\5.2.7.RELEASE\spring-aop-5.2.7.RELEASE.jar;C:\Users\Co ntainerAdministrator\.m2\repository\org\aspectj\aspectjrt\1.9.5\aspectjrt-1.9.5.jar;C:\Users\ContainerAdministrator\.m2\repository\org\springframework\data\spring-data-commons\2.4.0\spring-data-commons-2.4.0.jar;C:\Users\ContainerAdmin istrator\.m2\repository\org\springframework\experimental\spring-graalvm-native\0.7.1\spring-graalvm-native-0.7.1.jar;C:\Users\ContainerAdministrator\.m2\repository\net\bytebuddy\byte-buddy\1.10.11\byte-buddy-1.10.11.jar;C:\s1-server-pd v-mono-nativo\s1-server-pdv-mono-application\target\s1-server-pdv-mono-application-1.33.4-SNAPSHOT.jar -J-Xmx20g -Dspring.graal.remove-unused-autoconfig=true --no-fallback --allow-incomplete-classpath --report-unsupported-elements-at-r untime -H:+ReportExceptionStackTraces --no-server -Dspring.native.verify=true -H:DeadlockWatchdogInterval=40 -H:+DeadlockWatchdogExitOnTimeout --enable-all-security-services -H:+RemoveSaturatedTypeFlows -Dspring.native.remove-unused-au toconfig=true -Dspring.native.remove-yaml-support=true -Dspring.native.remove-jmx-support=true -Dspring.native.remove-spel-support=true -Dspring.graal.skip-logback=true -Dspring.graal.verbose=true -H:IncludeResourceBundles=javax.servle t.http.LocalStrings -H:IncludeResourceBundles=javax.servlet.LocalStrings -H:EnableURLProtocols=http,jar -H:Name=pdvsysmonative -H:Class=br.com.sysmo.s1.server.pdv.mono.app.Application -H:EnableURLProtocols=http,jar --initialize-at-buil d-time=org.postgresql.util.SharedTimer,org.postgresql.Driver --initialize-at-build-time=org.springframework.data.repository.CrudRepository,org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter,org.springframewor k.http.converter.AbstractHttpMessageConverter,org.springframework.http.converter.AbstractGenericHttpMessageConverter --initialize-at-build-time=org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter --initialize-a t-build-time=sun.instrument.InstrumentationImpl,java.sql.DriverManager,javax.el.ListELResolver,javax.el.MapELResolver The command line is too long.
@leandroZanatta You are not using the Gluon Client plugin, are you? If that is the case you should file the issue in the GraalVM issue tracker.
No, I am using the native-image-maven-plugin `
<plugin>
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>native-image-maven-plugin</artifactId>
<version>20.3.0</version>
<configuration>
<buildArgs>
-J-Xmx20g
-Dspring.graal.remove-unused-autoconfig=true
--no-fallback --allow-incomplete-classpath
--report-unsupported-elements-at-runtime
-H:+ReportExceptionStackTraces
--no-server
-Dspring.native.verify=true
-H:DeadlockWatchdogInterval=40
-H:+DeadlockWatchdogExitOnTimeout
--enable-all-security-services
-H:+RemoveSaturatedTypeFlows
-Dspring.native.remove-unused-autoconfig=true
-Dspring.native.remove-yaml-support=true
-Dspring.native.remove-jmx-support=true
-Dspring.native.remove-spel-support=true
-Dspring.graal.skip-logback=true
-Dspring.graal.verbose=true
-H:IncludeResourceBundles=javax.servlet.http.LocalStrings
-H:IncludeResourceBundles=javax.servlet.LocalStrings
-H:EnableURLProtocols=http,jar
-H:Name=pdvsysmonative
-H:Class=br.com.sysmo.s1.server.pdv.mono.app.Application
-H:EnableURLProtocols=http,jar
--initialize-at-build-time=org.postgresql.util.SharedTimer,org.postgresql.Driver
--initialize-at-build-time=org.springframework.data.repository.CrudRepository,org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter,org.springframework.http.converter.AbstractHttpMessageConverter,org.springframework.http.converter.AbstractGenericHttpMessageConverter
--initialize-at-build-time=org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter
--initialize-at-build-time=sun.instrument.InstrumentationImpl,java.sql.DriverManager,javax.el.ListELResolver,javax.el.MapELResolver
</buildArgs>
</configuration>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
Well, my point still remains, you are not using Gluon plugins, that plugin is from the GraalVM team, and you should file the issue there.
OK, there is already a PR in the plugin. https://github.com/oracle/graal/issues/2995 I'll wait for the outcome. Thanks
On windows, with a lot of dependencies, the ProcessBuilder in
AbstractTargetConfiguration#compile
throws athe command line is too long
exception on compilation.An easy workaround is to add a
client/$app/gvm/jar
folder to the build files and copy the classpath jars here. The classpath passed to the native-image command can then filter out all jars & addclient/$app/gvm/jar/*
instead.