【发布时间】:2019-12-11 21:17:30
【问题描述】:
我正在构建一个与亚马逊 SSM 集成的 maven 多模块项目,当我在 JVM 模式下运行时,一切正常。但是当我生成本机图像时发生错误
org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
这个配置我已经试过了
[
{
"name" : "org.apache.commons.logging.impl.LogFactoryImpl",
"allDeclaredConstructors" : true,
"allPublicConstructors" : true,
"allDeclaredMethods" : true,
"allPublicMethods" : true,
"allDeclaredFields" : true,
"allPublicFields" : true
}
]
我的 pom.xml 原生配置文件
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<configuration>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<enableHttpsUrlHandler>true</enableHttpsUrlHandler>
<additionalBuildArgs>
<additionalBuildArg>
-H:ReflectionConfigurationFiles=${project.basedir}/reflection-config.json
</additionalBuildArg>
</additionalBuildArgs>
</configuration>
我得到的错误
org.apache.commons.logging.LogConfigurationException: No suitable Log implementation
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:848)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:177)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:292)
at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.<init>(SdkTLSSocketFactory.java:58)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:90)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:63)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:56)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:50)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:38)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:324)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:308)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:229)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:215)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:614)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:600)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:61)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:27)
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.defaultClient(AWSSimpleSystemsManagementClientBuilder.java:45)
at br.com.dummyproject.helpers.impl.InterSecureParamaterStoreLoaderImpl.loadParameters(InterSecureParamaterStoreLoaderImpl.java:26)
at br.com.dummyproject.ApplicationStarted.onStart(ApplicationStarted.java:22)
at br.com.dummyproject.ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.notify(ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.zig:61)
at io.quarkus.arc.EventImpl$Notifier.notify(EventImpl.java:228)
at io.quarkus.arc.EventImpl.fire(EventImpl.java:69)
at io.quarkus.arc.runtime.LifecycleEventRunner.fireStartupEvent(LifecycleEventRunner.java:23)
at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:99)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy_0(LifecycleEventsBuildStep$startupEvent16.zig:58)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy(LifecycleEventsBuildStep$startupEvent16.zig:77)
at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:149)
at io.quarkus.runtime.Application.start(Application.java:84)
at io.quarkus.runtime.Application.run(Application.java:196)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:34)
Exception in thread "main" java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:169)
at io.quarkus.runtime.Application.start(Application.java:84)
at io.quarkus.runtime.Application.run(Application.java:196)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:34)
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log implementation
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:848)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:177)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:292)
at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.<init>(SdkTLSSocketFactory.java:58)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:90)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:63)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:56)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:50)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:38)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:324)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:308)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:229)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:215)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:614)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:600)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:61)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:27)
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.defaultClient(AWSSimpleSystemsManagementClientBuilder.java:45)
at br.com.dummyproject.helpers.impl.InterSecureParamaterStoreLoaderImpl.loadParameters(InterSecureParamaterStoreLoaderImpl.java:26)
at br.com.dummyproject.ApplicationStarted.onStart(ApplicationStarted.java:22)
at br.com.dummyproject.ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.notify(ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.zig:61)
at io.quarkus.arc.EventImpl$Notifier.notify(EventImpl.java:228)
at io.quarkus.arc.EventImpl.fire(EventImpl.java:69)
at io.quarkus.arc.runtime.LifecycleEventRunner.fireStartupEvent(LifecycleEventRunner.java:23)
at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:99)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy_0(LifecycleEventsBuildStep$startupEvent16.zig:58)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy(LifecycleEventsBuildStep$startupEvent16.zig:77)
at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:149)
我的文件 application.properties 是这样的
quarkus.resteasy.path=/api/inter-dummy-quarkus-project-service/v1
quarkus.log.file.enable=true
service.context=inter-dummy-quarkus-project-service
quarkus.log.file.path=/quarkus-projects/inter-dummy-quarkus-project-service/logs/log-error.log
quarkus.log.file.level=ERROR
quarkus.log.file.format={"timestamp":"%d{YYYY-MM-dd HH:mm:ss}", "service":"${service.context}", "thread":"[%t]", "level":"%p", "meta":%s}%n
quarkus.ssl.native=true
完整的堆栈跟踪
org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
at java.security.AccessController.doPrivileged(AccessController.java:63)
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:177)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:292)
at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.<init>(SdkTLSSocketFactory.java:58)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:90)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:63)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:56)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:50)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:38)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:324)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:308)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:229)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:215)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:614)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:600)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:61)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:27)
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.defaultClient(AWSSimpleSystemsManagementClientBuilder.java:45)
at br.com.dummyproject.helpers.impl.InterSecureParamaterStoreLoaderImpl.loadParameters(InterSecureParamaterStoreLoaderImpl.java:26)
at br.com.dummyproject.ApplicationStarted.onStart(ApplicationStarted.java:22)
at br.com.dummyproject.ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.notify(ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.zig:61)
at io.quarkus.arc.EventImpl$Notifier.notify(EventImpl.java:228)
at io.quarkus.arc.EventImpl.fire(EventImpl.java:69)
at io.quarkus.arc.runtime.LifecycleEventRunner.fireStartupEvent(LifecycleEventRunner.java:23)
at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:99)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy_0(LifecycleEventsBuildStep$startupEvent16.zig:58)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy(LifecycleEventsBuildStep$startupEvent16.zig:77)
at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:149)
at io.quarkus.runtime.Application.start(Application.java:84)
at io.quarkus.runtime.Application.run(Application.java:196)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:34)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
at java.lang.ClassLoader.loadClass(Target_java_lang_ClassLoader.java:131)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
... 36 more
Exception in thread "main" java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:169)
at io.quarkus.runtime.Application.start(Application.java:84)
at io.quarkus.runtime.Application.run(Application.java:196)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:34)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
at java.security.AccessController.doPrivileged(AccessController.java:63)
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:177)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:292)
at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.<init>(SdkTLSSocketFactory.java:58)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.getPreferredSocketFactory(ApacheConnectionManagerFactory.java:90)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:63)
at com.amazonaws.http.apache.client.impl.ApacheConnectionManagerFactory.create(ApacheConnectionManagerFactory.java:56)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:50)
at com.amazonaws.http.apache.client.impl.ApacheHttpClientFactory.create(ApacheHttpClientFactory.java:38)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:324)
at com.amazonaws.http.AmazonHttpClient.<init>(AmazonHttpClient.java:308)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:229)
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:215)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:614)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClient.<init>(AWSSimpleSystemsManagementClient.java:600)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:61)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.build(AWSSimpleSystemsManagementClientBuilder.java:27)
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.defaultClient(AWSSimpleSystemsManagementClientBuilder.java:45)
at br.com.dummyproject.helpers.impl.InterSecureParamaterStoreLoaderImpl.loadParameters(InterSecureParamaterStoreLoaderImpl.java:26)
at br.com.dummyproject.ApplicationStarted.onStart(ApplicationStarted.java:22)
at br.com.dummyproject.ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.notify(ApplicationStarted_Observer_onStart_fd71b5e0b207b7d1ef838b94eaeff75e52b8f463.zig:61)
at io.quarkus.arc.EventImpl$Notifier.notify(EventImpl.java:228)
at io.quarkus.arc.EventImpl.fire(EventImpl.java:69)
at io.quarkus.arc.runtime.LifecycleEventRunner.fireStartupEvent(LifecycleEventRunner.java:23)
at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:99)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy_0(LifecycleEventsBuildStep$startupEvent16.zig:58)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent16.deploy(LifecycleEventsBuildStep$startupEvent16.zig:77)
at io.quarkus.runner.ApplicationImpl1.doStart(ApplicationImpl1.zig:149)
... 3 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
at java.lang.ClassLoader.loadClass(Target_java_lang_ClassLoader.java:131)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
【问题讨论】:
标签: quarkus