我的问题:
Hibernate-5.0.12-Final使用Jboss-Logging-3.3.1.Final
但wildfly8提供jboss-logging-3.1.4.GA
。将3.1.4.GA
与Hibernate5
一起使用会导致NoSuchMethodException
。
我正在将包含war
AND Hibernate-5.0.12-Final
的{{1}}部署到wildfly8 AS中。
我尝试了以下内容:
在Jboss-Logging-3.3.1.Final
add-logging-api-dependencies
standalone.xml
排除日志子系统或 <add-logging-api-dependencies value="false"/>
<use-deployment-logging-config value="false"/>
中org.jboss.logging
依赖项,我将jboss-deployment-structure.xml
置于部署到wildfly AS的.war文件的WEB-INF
中。
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.logging" />
</exclusions>
</deployment>
</jboss-deployment-structure>
或
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
两者都不起作用。它起作用,因为我的应用程序没有更多日志记录,但提供的Jboss-Logging-3.3.1.Final
未被使用。
所以我最终更新了wildfly-modules文件夹(jar
)中的modules/system/layers/base/org/jboss/logging/
jboss-logging。这有效,但我认为必须有一个更好的解决方案,因为交换/替换jar
可能会破坏在某个版本(3.1.4.GA)中需要jboss-logging的其他模块的依赖关系。
TLDR; 我只想告诉我的wildfly8它应该使用jboss-logging jar(由我提供,在war文件中)而不是wildfly提供的jboss-logging.jar如。