-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Describe the bug
After setup jwt token with rsa keys and follow the guide of it (smallrye jwt build).
Guide
The instruction of set
mp.jwt.verify.publickey.location=publicKey.pem
fail, review the error, and add
JWT_PUBLIC_LOCATION=classpath:public.pem
JWT_PRIVATE_LOCATION=classpath:private.pem
with classpath:
prefix. All test and dev run perfect, but when i tried build fail in build native step.
Expected behavior
Build successfully.
Actual behavior
The build process encountered an unexpected error:
com.oracle.svm.core.util.VMError$HostedError: InternalFeature defined by com.oracle.svm.hosted.ResourcesFeature unexpectedly failed with a(n) java.util.regex.PatternSyntaxException
at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:86)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.handleFeatureError(FeatureHandler.java:291)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:92)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$11(NativeImageGenerator.java:786)
at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:181)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:783)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:592)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)
Caused by: java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 12
private.pem\E
^
at java.base/java.util.regex.Pattern.error(Pattern.java:2204)
at java.base/java.util.regex.Pattern.escape(Pattern.java:2785)
at java.base/java.util.regex.Pattern.atom(Pattern.java:2462)
at java.base/java.util.regex.Pattern.sequence(Pattern.java:2386)
at java.base/java.util.regex.Pattern.expr(Pattern.java:2245)
at java.base/java.util.regex.Pattern.compile(Pattern.java:1945)
at java.base/java.util.regex.Pattern.<init>(Pattern.java:1576)
at java.base/java.util.regex.Pattern.compile(Pattern.java:1101)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ResourcesFeature.makeResourcePattern(ResourcesFeature.java:371)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ResourcesFeature.compilePatterns(ResourcesFeature.java:361)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ResourcesFeature.duringAnalysis(ResourcesFeature.java:339)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:786)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:90)
... 9 more
> Task :quarkusBuild FAILED
How to Reproduce?
Run with gradle in windows and docker desktop.
./gradlew build -Dquarkus.native.enabled=false -Dquarkus.package.jar.enabled=true -Dquarkus.native.container-build=true -Dquarkus.package.jar.type=uber-jar'…
libs
quarkus-smallrye-jwt = { group = "io.quarkus", name = "quarkus-smallrye-jwt" }
quarkus-smallrye-jwt-build = { group = "io.quarkus", name = "quarkus-smallrye-jwt-build" }
application.properties
quarkus.native.additional-build-args=--initialize-at-run-time=com.itextpdf.kernel.font.FontUtil\\,com.itextpdf.kernel.crypto.OutputStreamAesGcmEncryption
# JWT
# for .env as long string
#security.jwt.private=${JWT_PRIVATE} # Quarkus fail to load long strings
#security.jwt.public=${JWT_PUBLIC} # Quarkus fail to load long strings
# for docker secrets
#security.jwt.private.key=${JWT_PRIVATE_KEY}
#security.jwt.public.key=${JWT_PUBLIC_KEY}
security.jwt.issuer=${JWT_ISSUER:API_VACUNAS_PANAMA}
# en segundos...
security.jwt.expiration-time=${JWT_EXPIRATION_TIME:3600}
security.jwt.refresh-time=${JWT_REFRESH_TIME:86400}
# jwt
# References: https://quarkus.io/guides/security-jwt#additional-smallrye-jwt-configuration
quarkus.smallrye-jwt.enabled=true
## Para VERIFICAR
#mp.jwt.verify.publickey=${security.jwt.public} # Quarkus fail to load long strings
mp.jwt.verify.publickey.location=${JWT_PUBLIC_LOCATION}
mp.jwt.verify.issuer=${security.jwt.issuer}
## Para FIRMAR
#smallrye.jwt.verify.secretkey=${security.jwt.private} # Quarkus fail to load long strings
# Caused by: java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 12 private.pem\R
smallrye.jwt.sign.key.location=${JWT_PRIVATE_LOCATION}
smallrye.jwt.new-token.issuer=${security.jwt.issuer}
quarkus.native.resources.includes=*.pem
Output of uname -a
or ver
Microsoft Windows [Versión 10.0.26100.3775]
Output of java -version
openjdk 21.0.2 2024-01-16 OpenJDK Runtime Environment GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30) OpenJDK 64-Bit Server VM GraalVM CE 21.0.2+13.1 (build 21.0.2+13-jvmci-23.1-b30, mixed mode, sharing)
Mandrel or GraalVM version (if different from Java)
No response
Quarkus version or git rev
quarkus = "3.21.4"
Build tool (ie. output of mvnw --version
or gradlew --version
)
Gradle 8.13 Build time: 2025-02-25 09:22:14 UTC Revision: 073314332697ba45c16c0a0ce1891fa6794179ff Kotlin: 2.0.21 Groovy: 3.0.22 Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 Launcher JVM: 21.0.2 (GraalVM Community 21.0.2+13-jvmci-23.1-b30) Daemon JVM: Compatible with Java 21, GraalVM Community (from gradle/gradle-daemon-jvm.properties) OS: Windows 11 10.0 amd64
Additional information
Can I disable native build step?
Pd. Please add support of Liquibase with hibernate reactive or indicate in the Liquibase or Hibernate Reactive guides that they do not work together. Sorry if this is not an issue and it's my problem.