[
https://issues.apache.org/jira/browse/JCS-232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17641936#comment-17641936
]
Jeremy Long commented on JCS-232:
---------------------------------
Stacktrace:
```
java.util.ServiceConfigurationError: org.apache.commons.jcs3.log.LogFactory:
Provider org.apache.commons.jcs3.log.Log4j2Factory could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at
org.apache.commons.jcs3.log.LogManager$LogFactoryHolder.createLogFactory(LogManager.java:61)
at
org.apache.commons.jcs3.log.LogManager$LogFactoryHolder.<clinit>(LogManager.java:44)
at org.apache.commons.jcs3.log.LogManager.getLogFactory(LogManager.java:88)
at org.apache.commons.jcs3.log.LogManager.getLog(LogManager.java:118)
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.<clinit>(CompositeCacheManager.java:80)
at org.apache.commons.jcs3.JCS.getCacheManager(JCS.java:116)
at org.apache.commons.jcs3.JCS.getInstance(JCS.java:159)
at
org.owasp.dependencycheck.data.cache.DataCacheFactory.getPomCache(DataCacheFactory.java:155)
at
org.owasp.dependencycheck.analyzer.CentralAnalyzer.initialize(CentralAnalyzer.java:124)
at org.owasp.dependencycheck.Engine.lambda$loadAnalyzers$1(Engine.java:235)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at org.owasp.dependencycheck.Engine.loadAnalyzers(Engine.java:234)
at org.owasp.dependencycheck.Engine.initializeEngine(Engine.java:201)
at org.owasp.dependencycheck.Engine.<init>(Engine.java:190)
at org.owasp.dependencycheck.Engine.<init>(Engine.java:165)
at org.owasp.dependencycheck.Engine.<init>(Engine.java:155)
at org.owasp.dependencycheck.App.runUpdateOnly(App.java:424)
at org.owasp.dependencycheck.App.run(App.java:172)
at org.owasp.dependencycheck.App.main(App.java:89)
Caused by: java.lang.NoClassDefFoundError:
org/apache/logging/log4j/message/MessageFactory
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.newInstance(Class.java:412)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException:
org.apache.logging.log4j.message.MessageFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 26 common frames omitted
```
> ClassNotFoundException When Using Custom Log Adapter
> ----------------------------------------------------
>
> Key: JCS-232
> URL: https://issues.apache.org/jira/browse/JCS-232
> Project: Commons JCS
> Issue Type: Bug
> Affects Versions: jcs-3.1
> Reporter: Jeremy Long
> Priority: Major
>
> If one implements a new logging abstraction as documented:
> [https://commons.apache.org/proper/commons-jcs/UpgradingFrom2x.html#Logging_Abstraction]
> Unless log4j is on the classpath a ClassNotFoundException exception is thrown
> because `org/apache/logging/log4j/message/MessageFactory` does not exist and
> is referenced
> [https://github.com/apache/commons-jcs/blob/master/commons-jcs-core/src/main/java/org/apache/commons/jcs3/log/Log4j2Factory.java#L30]
>
> I have a library that uses sl4j and is used in several other tools - so I
> thought I would make an adapter to point to slf4j:
> [https://github.com/jeremylong/jcs3-slf4j]. Unfortunately, to use this I will
> have to add an unused dependency.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)