Native packaging fails under Micronaut's default configuration

44 Views Asked by At

Description: I used the new project function of idea to create a new micronaut project. I did not select any additional components and everything was default. I always get the same error when I try to do graalvm packaging.

Error log:

[native-image-plugin] GraalVM Toolchain detection is disabled
[native-image-plugin] GraalVM location read from environment variable: GRAALVM_HOME
[native-image-plugin] Native Image executable path: D:\Program Files\graaLvm_fx17\bin\native-image.cmd
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 6
Files\gradle-8.5\caches\modules-2\files-2.1\io.netty\netty-codec-http\4.1.106.Final\21a07cdf0fc46b313fe2248f1275cdbdac0ba87b\netty-codec-http-4.1.106.Final.jar\E
      ^
at java.util.regex.Pattern.error(Pattern.java:2028)
at java.util.regex.Pattern.escape(Pattern.java:2608)
at java.util.regex.Pattern.atom(Pattern.java:2286)
at java.util.regex.Pattern.sequence(Pattern.java:2210)
at java.util.regex.Pattern.expr(Pattern.java:2069)
at java.util.regex.Pattern.compile(Pattern.java:1783)
at java.util.regex.Pattern.<init>(Pattern.java:1430)
at java.util.regex.Pattern.compile(Pattern.java:1069)
at com.oracle.svm.driver.DefaultOptionHandler.consume(DefaultOptionHandler.java:209)
at com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.apply(NativeImage.java:1463)
at com.oracle.svm.driver.DefaultOptionHandler.consume(DefaultOptionHandler.java:324)
at com.oracle.svm.driver.NativeImage$NativeImageArgsProcessor.apply(NativeImage.java:1463)
at com.oracle.svm.driver.NativeImage.processNativeImageArgs(NativeImage.java:1718)
at com.oracle.svm.driver.NativeImage.completeImageBuild(NativeImage.java:936)
at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1380)
at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1350)
at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1337)

buid.gradle : (I deleted the project's warehouse settings and used global settings because of network environment problems.)

plugins {
    id("com.github.johnrengelman.shadow") version "8.1.1"
    id("io.micronaut.application") version "4.3.1"
    id("io.micronaut.aot") version "4.3.1"
}

version = "0.1"
group = "com.example"



dependencies {
    annotationProcessor("io.micronaut:micronaut-http-validation")
    annotationProcessor("io.micronaut.serde:micronaut-serde-processor")
    implementation("io.micronaut.serde:micronaut-serde-jackson")
    compileOnly("io.micronaut:micronaut-http-client")
    runtimeOnly("ch.qos.logback:logback-classic")
    testImplementation("io.micronaut:micronaut-http-client")
    implementation("com.github.librepdf:openpdf:1.3.35")
}


application {
    mainClass.set("com.example.Application")
}
java {
    sourceCompatibility = JavaVersion.toVersion("17")
    targetCompatibility = JavaVersion.toVersion("17")
}


graalvmNative.toolchainDetection = false
micronaut {
    runtime("netty")
    testRuntime("junit5")
    processing {
        incremental(true)
        annotations("com.example.*")
    }
    aot {
        // Please review carefully the optimizations enabled below
        // Check https://micronaut-projects.github.io/micronaut-aot/latest/guide/ for more details
        optimizeServiceLoading = false
        convertYamlToJava = false
        precomputeOperations = true
        cacheEnvironment = true
        optimizeClassLoading = true
        deduceEnvironment = true
        optimizeNetty = true
    }
}

Environmental information:

openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment GraalVM 22.1.0.1 (build 17.0.3+7-jvmci-22.1-b06)
OpenJDK 64-Bit Server VM GraalVM 22.1.0.1 (build 17.0.3+7-jvmci-22.1-b06, mixed mode, sharing)
gradle 8.5
windows 11
wix 3.11

I've tried graalvm with jdk 21, as well as jdk17 including Oracle and community builds, but all stopped there.I have tried to build the fat jar and manually compile it natively, but it still failed.


Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.newResourceLeakDetector(java.lang.Class, int)
Parsing context:
   at io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.newResourceLeakDetector(ResourceLeakDetectorFactory.java:180)
   at io.netty.util.ResourceLeakDetectorFactory.newResourceLeakDetector(ResourceLeakDetectorFactory.java:63)

Thanks for anyone's answer.

My English is not good, so I can only use machine translation. I apologize for the language problems!

1

There are 1 best solutions below

1
hope to have no bug world On

Building with maven has no problem. Just use maven