[jboss-jira] [JBoss JIRA] (WFCORE-4373) org.jboss.log4j.logmanager module requires java.sql module
Ilia Vassilev (Jira)
issues at jboss.org
Fri Apr 19 17:28:00 EDT 2019
[ https://issues.jboss.org/browse/WFCORE-4373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilia Vassilev updated WFCORE-4373:
----------------------------------
Labels: downstream_dependency (was: )
> org.jboss.log4j.logmanager module requires java.sql module
> ----------------------------------------------------------
>
> Key: WFCORE-4373
> URL: https://issues.jboss.org/browse/WFCORE-4373
> Project: WildFly Core
> Issue Type: Bug
> Components: Modules
> Affects Versions: 8.0.0.Final
> Reporter: Ilia Vassilev
> Assignee: Ilia Vassilev
> Priority: Major
> Labels: downstream_dependency
> Fix For: 9.0.0.Beta1
>
>
> org.jboss.logmanager module requires java.sql module
> {code}
> Caused by: java.lang.ClassNotFoundException: java.sql.SQLException from [Module "org.jboss.log4j.logmanager" version 1.1.6.Final-redhat-00001 from local module loader @7d3a22a9 (finder: local module finder @1d082e88 (roots: /opt/jboss/modules,/opt/jboss/modules/system/layers/base))]
> {code}
> It looks like in EAP 6.4 java.* was visible to everything. In EAP 7.2 with JBoss Modules changes likely due to JDK 11 modular changes, it looks like java.* is no longer just visible and JBoss Modules has some internal modules such as java.sql which would be needed to see these classes.
> Tattletale says that logmanager jar has this class org.apache.log4j.jdbc.JDBCAppender which uses java.sql.* , so we should add a dependency on java.sql (javax.sql.api exports java.sql , but javax.sql.api module is marked deprecated)
> EAP 6.4
> {code}
> <module xmlns="urn:jboss:module:1.1" name="org.jboss.log4j.logmanager">
> <resources>
> <resource-root path="log4j-jboss-logmanager-1.1.4.Final-redhat-1.jar"/>
> <!-- Insert resources here -->
> </resources>
> <dependencies>
> <module name="javax.api"/>
> <module name="javax.mail.api" optional="true"/>
> <module name="javax.jms.api" optional="true"/>
> <module name="org.dom4j" optional="true"/>
> <module name="org.jboss.logmanager"/>
> <module name="org.jboss.modules"/>
> </dependencies>
> </module>
> {code}
> {code}
> grep -r java.sql `f module.xml`
> <nothing>
> {code}
> EAP 7.2:
> {code}
> <module name="org.jboss.log4j.logmanager" xmlns="urn:jboss:module:1.8">
> <properties>
> <property name="jboss.api" value="private"/>
> </properties>
> <resources>
> <resource-root path="log4j-jboss-logmanager-1.1.6.Final-redhat-00001.jar"/>
> </resources>
> <dependencies>
> <!-- for java.beans -->
> <module name="java.desktop"/>
> <module name="java.logging"/>
> <module name="java.xml"/>
> <module name="javax.mail.api" optional="true"/>
> <module name="javax.jms.api" optional="true"/>
> <module name="org.dom4j" optional="true"/>
> <module name="org.jboss.logmanager"/>
> <module name="org.jboss.modules"/>
> </dependencies>
> </module>
> {code}
> {code}
> grep -r java.sql `f module.xml`
> ./modules/system/layers/base/sun/jdk/main/module.xml: <!-- Internal to java.sql.rowset -->
> ./modules/system/layers/base/org/wildfly/extension/elytron/main/module.xml: <module name="java.sql"/>
> ./modules/system/layers/base/org/wildfly/security/elytron-private/main/module.xml: <module name="java.sql"/>
> ./modules/system/layers/base/io/undertow/core/main/module.xml: <module name="java.sql"/>
> ./modules/system/layers/base/javax/sql/api/main/module.xml: <module name="java.sql" export="true"/>
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list