簡體   English   中英

quarkus 無法編譯為本機

[英]quarkus fails to compile to native

我正在嘗試將使用 graalvm java 和 quarkus 編寫的小型 lambda function 編譯為本機,但我得到了這個異常。 我已經嘗試為 2 個類添加標志 --allow-incomplete-classpath 和 --initialize-at-run-time ,但這並沒有將編譯修復為原生。 有人知道可以嘗試什么來解決此錯誤嗎?

執行的命令

    ./gradlew --stacktrace -b ./build.gradle build -Dquarkus.package.type=native -Dquarkus.native.native-image-xmx=3g -Dquarkus.native.additional-build-args='--allow-incomplete-classpath,--trace-object-instantiation=java.util.Random,--initialize-at-run-time="com.amazonaws.ClientConfiguration,org.apache.http.impl.auth.NTLMEngineImpl"'

build.gradle 依賴:

    dependencies {
        compileOnly 'org.projectlombok:lombok:1.18.20'
        annotationProcessor 'org.projectlombok:lombok:1.18.20'
    
        implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
        implementation 'io.quarkus:quarkus-amazon-lambda'
        implementation 'io.quarkus:quarkus-amazon-sns'
        implementation 'io.quarkus:quarkus-amazon-kms'
        implementation 'javax.activation:activation:1.1.1'
        implementation 'com.amazonaws:aws-java-sdk-kms:1.11.483'
    
        testImplementation 'io.rest-assured:rest-assured'
        testImplementation 'io.quarkus:quarkus-junit5-mockito'
        testImplementation 'io.quarkus:quarkus-junit5'
    }

錯誤:

* Exception is:
#10 65.67 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':quarkusBuild'.
#10 65.67       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:200)
#10 65.67       at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
#10 65.67       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:198)
...
...
#10 65.75       at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
#10 65.75       at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
#10 65.75       at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
#10 65.75 Caused by: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
#10 65.75       [error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.RuntimeException: Failed to build native image
#10 65.75       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:236)
#10 65.75       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#10 65.75       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
#10 65.75       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#10 65.75       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
#10 65.75       at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:887)
#10 65.75       at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
#10 65.75       at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
#10 65.75       at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
#10 65.75       at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
#10 65.75       at java.base/java.lang.Thread.run(Thread.java:829)
#10 65.75       at org.jboss.threads.JBossThread.run(JBossThread.java:501)
#10 65.75 Caused by: java.lang.RuntimeException: Image generation failed. Exit code: 1
#10 65.75       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:372)
#10 65.75       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:215)
#10 65.75       ... 11 more
#10 65.75
#10 65.75       at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:330)
#10 65.76       at io.quarkus.runner.bootstrap.AugmentActionImpl.createProductionApplication(AugmentActionImpl.java:175)
#10 65.76       at io.quarkus.gradle.tasks.QuarkusBuild.buildQuarkus(QuarkusBuild.java:136)
#10 65.76       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#10 65.76       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
#10 65.76       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#10 65.76       at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
#10 65.76       at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
#10 65.76       at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
#10 65.76       at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
#10 65.76       at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:555)
#10 65.76       at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
...
...
#10 65.86       at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
#10 65.86       at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
#10 65.86       at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
#10 65.87       at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
#10 65.87 Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
#10 65.87       [error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.RuntimeException: Failed to build native image
#10 65.87       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:236)
#10 65.87       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#10 65.87       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
#10 65.87       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#10 65.87       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
#10 65.87       at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:887)
#10 65.87       at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
#10 65.87       at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
#10 65.87       at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
#10 65.87       at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
#10 65.87       at java.base/java.lang.Thread.run(Thread.java:829)
#10 65.87       at org.jboss.threads.JBossThread.run(JBossThread.java:501)
#10 65.87 Caused by: java.lang.RuntimeException: Image generation failed. Exit code: 1
#10 65.87       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:372)
#10 65.87       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:215)
#10 65.87       ... 11 more
#10 65.87
#10 65.87       at io.quarkus.builder.Execution.run(Execution.java:116)
#10 65.87       at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)
#10 65.88       at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:161)
#10 65.88       at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:328)
#10 65.88       ... 200 more
#10 65.88 Caused by: java.lang.RuntimeException: Failed to build native image
#10 65.88       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:236)
#10 65.88       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#10 65.88       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
#10 65.88       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#10 65.88       at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:887)
#10 65.88       at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
#10 65.88       at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
#10 65.88       at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
#10 65.88       at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
#10 65.88       at org.jboss.threads.JBossThread.run(JBossThread.java:501)
#10 65.88 Caused by: java.lang.RuntimeException: Image generation failed. Exit code: 1
#10 65.88       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:372)
#10 65.88       at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:215)
#10 65.88       ... 9 more
#10 65.88
#10 65.88
#10 65.88 * Get more help at https://help.gradle.org
#10 65.88
#10 65.88 Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
#10 65.88 Use '--warning-mode all' to show the individual deprecation warnings.
#10 65.88 See https://docs.gradle.org/6.7.1/userguide/command_line_interface.html#sec:command_line_warnings
#10 65.88
#10 65.88 BUILD FAILED in 1m 4s
#10 65.88 10 actionable tasks: 10 executed

所以我想通了。 Quarkus 不適用於 KMS 客戶端的初始實現: implementation 'com.amazonaws:aws-java-sdk-kms:1.11.483'

您應該使用實現 'io.quarkus:quarkus-amazon-kms'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM