[英]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.