Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.5.1
-
None
-
None
-
Maven config:
<plugin>
<groupId>org.apache.openejb.maven</groupId>
<artifactId>tomee-maven-plugin</artifactId>
<version>1.0.1-SNAPSHOT</version>
<configuration>
<tomeeVersion>1.5.1-SNAPSHOT</tomeeVersion>
<tomeeClassifier>plus</tomeeClassifier>
<config>${basedir}/src/main/conf</config>
<systemVariables>
<openjpa.Log>DefaultLevel=TRACE</openjpa.Log>
</systemVariables>
</configuration>
</plugin>Maven config: <plugin> <groupId>org.apache.openejb.maven</groupId> <artifactId>tomee-maven-plugin</artifactId> <version>1.0.1-SNAPSHOT</version> <configuration> <tomeeVersion>1.5.1-SNAPSHOT</tomeeVersion> <tomeeClassifier>plus</tomeeClassifier> <config>${basedir}/src/main/conf</config> <systemVariables> <openjpa.Log>DefaultLevel=TRACE</openjpa.Log> </systemVariables> </configuration> </plugin>
Description
Deploying within TomEE plus an application logging with commons-logging 1.1.1 generates the following error:
java.lang.IllegalAccessError
tried to access class org.apache.commons.logging.LogFactory$6 from class org.apache.commons.logging.LogFactory
Stack trace
org.apache.commons.logging.LogFactory.getSystemProperty(LogFactory.java:1558)
org.apache.commons.logging.LogFactory.initDiagnostics(LogFactory.java:1575)
org.apache.commons.logging.LogFactory.<clinit>(LogFactory.java:1817)
net.myapp.components.Logout.<clinit>(Logout.java:25)
The same application works well with version 1.5.0.
It seems the classloader excludes commons-logging leading to a classloading mismatch