【发布时间】:2019-08-13 12:55:11
【问题描述】:
我在尝试加载我的应用程序配置时收到LogConfigurationException。它是一个 EAR Java 应用程序,本地部署在 Wildfly 17 应用服务器中。
我正在使用commons-configuration,因此我已将其作为依赖项部署在我的jboss-deployment-structure.xml 文件中:
<dependencies>
...
<module name="org.apache.commons.commons-configuration2" slot="2.5" export="true" />
commons-configurations2 的module.xml 文件如下:
<module xmlns="urn:jboss:module:1.1" name="org.apache.commons.commons-configuration2" slot="2.5">
<resources>
<resource-root path="commons-configuration2-2.5.jar"/>
</resources>
<dependencies>
<module name="org.apache.commons.commons-lang3" slot="3.9" />
<module name="org.apache.commons.commons-text" slot="1.6" />
<module name="commons-logging.commons-logging" slot="1.2" />
<module name="javax.servlet.servlet-api" slot="2.4" />
</dependencies>
</module>
每个依赖项都有自己的模块,与它们的 pom 文件具有相同的依赖项。
服务器启动没有错误,但是当我尝试读取我的配置文件时,我得到了这个错误:
Caused by: org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:804)
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.commons.beanutils.PropertyUtilsBean.<init>(PropertyUtilsBean.java:123)
at org.apache.commons.configuration2.beanutils.BeanHelper.initBeanUtilsBean(BeanHelper.java:625)
at org.apache.commons.configuration2.beanutils.BeanHelper.<clinit>(BeanHelper.java:88)
commons-configuration2 的模块与commons-logging 1.2 版有依赖关系,其中包含似乎缺少的Log4JLoggerclass。
我相信这个模块和 Wildfly 自己的日志记录配置之间存在某种冲突。但是,我尝试在 jboss-deployment-structure.xml 和 commons-configuration2 模块中添加/删除任何 commons-logging 依赖项,但我总是遇到同样的错误。
关于问题的任何线索,或者我可以尝试获得更多信息的任何线索?
谢谢和最好的问候。
【问题讨论】:
-
您能提供您的
module.xml文件吗? WIldFly 使用自定义org.apache.commons.loggingimplementation。 -
我将 commons-configuration2 module.xml 添加到问题中。我是根据pom文件制作的。我试图从中评论公共日志记录部分,但这也没有用。
标签: java wildfly apache-commons-logging apache-commons-config