Reputation: 21
build fail with
mvn package -Pnative -Dnative-image.docker-build=true
i followed https://quarkus.io/guides/building-native-image-guide#creating-a-container.
mvn package -Pnative -> success
[io.quarkus.creator.phase.nativeimage.NativeImagePhase] Running Quarkus native-image plugin on OpenJDK 64-Bit GraalVM CE 19.2.0
[io.quarkus.creator.phase.nativeimage.NativeImagePhase] /usr/lib/jvm/graalvm-ce-19.2.0/jre/bin/native-image -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dio.netty.leakDetection.level=DISABLED -J-Dvertx.disableDnsResolver=true -J-Dio.netty.noUnsafe=true -H:ReflectionConfigurationFiles=/shared_data/quarkus_jaxrs/reflection-config.json -H:ResourceConfigurationFiles=/shared_data/quarkus_jaxrs/resources-config.json --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime -jar ph-quarkus-jwt-1.0-runner.jar -J-Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:+PrintAnalysisCallTree -H:-AddAllCharsets -H:EnableURLProtocols=http,https --enable-all-security-services -H:NativeLinkerOption=-no-pie -H:-SpawnIsolates -H:+JNI --no-server -H:-UseServiceLoaderFeature -H:+StackTrace
mvn package -Pnative -Dnative-image.docker-build=true -> failure
docker run -v /shared_data/quarkus_jaxrs/target:/project:z --rm --user 0:0 quay.io/quarkus/ubi-quarkus-native-image:19.1.1 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dio.netty.leakDetection.level=DISABLED -J-Dvertx.disableDnsResolver=true -J-Dio.netty.noUnsafe=true -H:ReflectionConfigurationFiles=/shared_data/quarkus_jaxrs/reflection-config.json -H:ResourceConfigurationFiles=/shared_data/quarkus_jaxrs/resources-config.json --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime -jar ph-quarkus-jwt-1.0-runner.jar -J-Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:+PrintAnalysisCallTree -H:-AddAllCharsets -H:EnableURLProtocols=http,https --enable-all-security-services -H:-SpawnIsolates -H:+JNI --no-server -H:-UseServiceLoaderFeature -H:+StackTrace
Error: Invalid Path entry /shared_data/quarkus_jaxrs/reflection-config.json
Caused by: java.nio.file.NoSuchFileException: /shared_data/quarkus_jaxrs/reflection-config.json
> mvn package -Pnative -Dnative-image.docker-build=true ( running dockerised way)
-> docker run -v /shared_data/quarkus_jaxrs/target:/project .....
->
Error: Invalid Path entry /shared_data/quarkus_jaxrs/reflection-config.json
Caused by: java.nio.file.NoSuchFileException: /shared_data/quarkus_jaxrs/reflection-config.json
> mvn package -Pnative ( running from graal vm locally installed )
-> /usr/lib/jvm/graalvm-ce-19.2.0/jre/bin/native-image
both should result the naive image executable.
Upvotes: 2
Views: 1234
Reputation: 11
try this.
move reflection-config.json to
src/main/resources/reflection-config.json
and change pom.xml like this
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<configuration>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<additionalBuildArgs>
<additionalBuildArg>-H:ReflectionConfigurationFiles=classes/reflection-config.json</additionalBuildArg>
</additionalBuildArgs>
</configuration>
</execution>
</executions>
</plugin>
Upvotes: 1