apache-commons-logging - 如何修复在本机模式下找不到“org.apache.commons.logging.impl.LogFactoryImpl”
问题描述
在本机模式下运行休息服务时,我得到一个类 org.apache.commons.logging.impl.LogFactoryImpl not found 异常。它在 openjdk 模式下运行良好。
我写了一个小的服务休息来重现这个问题。
服务休息:
package org.acme.rest.json;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
import io.quarkus.deployment.annotations.BuildStep;
@Path("/logs")
public class LogResource {
private Log log = LogFactory.getLog(LogResource.class);
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
log.info("jello");
return "hello";
}
}
调用此文件时,我得到
xception handling request 04cf25a8-aafb-4b2a-978e-47a24009b22d-1 to /logs: org.jboss.resteasy.spi.UnhandledException: 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)
解决方案
按照您的建议,我使用以下配置运行它: pom.xml
<build>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-maven-plugin</artifactId>
<version>${quarkus.version}</version>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<configuration>
<enableHttpUrlHandler>true</enableHttpUrlHandler>
<additionalBuildArgs>-H:ReflectionConfigurationFiles=/home/dev/repo/quarkus-mailbox-native//src/main/resources/reflectconfig.json,-H:DynamicProxyConfigurationFiles=/home/dev/repo/quarkus-mailbox-native/src/main/resources/dynamicproxy.json</additionalBuildArgs>
</configuration>
</execution>
</executions>
</plugin>
反射.json
[
{
"name" : "org.apache.commons.logging.impl.LogFactoryImpl",
"allDeclaredConstructors" : true,
"allPublicConstructors" : true,
"allDeclaredMethods" : true,
"allPublicMethods" : true,
"allDeclaredClasses" : true,
"allPublicClasses" : true
},
{
"name" : "java.lang.String",
"allDeclaredConstructors" : true,
"allPublicConstructors" : true,
"allDeclaredMethods" : true,
"allPublicMethods" : true,
"allDeclaredClasses" : true,
"allPublicClasses" : true
},
{
"name" : "org.apache.commons.logging.LogFactory",
"allDeclaredConstructors" : true,
"allPublicConstructors" : true,
"allDeclaredMethods" : true,
"allPublicMethods" : true,
"allDeclaredClasses" : true,
"allPublicClasses" : true
},
{
"name" : "org.apache.commons.logging.impl.SimpleLog",
"allDeclaredConstructors" : true,
"allPublicConstructors" : true,
"allDeclaredMethods" : true,
"allPublicMethods" : true,
"allDeclaredClasses" : true,
"allPublicClasses" : true
}
]
谢谢你的帮助。
X。
推荐阅读
- python - 如何从 mutate 调用中调用 python?
- css - 试图扩展标题 div 以适应页面
- consensus - 为什么 vcf2fq 生成的共识序列即使在它们占主导地位时也会错过插入缺失?怎么修?
- asp.net-core - 是否可以在 Blazor WebAssembly 应用程序的同一服务器上托管两个(多个)客户端
- php - PHP preg_match_all 查找多个base64图像
- r - XTS 在当前索引之前的日期中搜索
- flutter - 如何在flutterfire中修改包?
- sql - SQL中的分组序列号
- java - Java 拆箱的意外行为
- mongodb - 在 Mongoose 中保存数组