[
https://issues.apache.org/jira/browse/TOMEE-4526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Markus Jung updated TOMEE-4526:
-------------------------------
Issue Type: Improvement (was: Dependency upgrade)
> CdiScanner don't log stracktrace when dependencies are missing
> --------------------------------------------------------------
>
> Key: TOMEE-4526
> URL: https://issues.apache.org/jira/browse/TOMEE-4526
> Project: TomEE
> Issue Type: Improvement
> Reporter: Markus Jung
> Priority: Major
>
> IMO the stracktrace isn't really useful for users as it always leads to tomee
> internals (CdiScanner), e.g.:
> {code:java}
> 08-Sep-2025 09:52:08.411 WARNING [main]
> org.apache.openejb.cdi.CdiScanner.load Can not load
> org.primefaces.cache.EHCacheProvider dependencies.
> java.lang.NoClassDefFoundError: net/sf/ehcache/CacheManager
> at java.base/java.lang.Class.getDeclaredFields0(Native Method)
> at
> java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3297)
> at
> java.base/java.lang.Class.getDeclaredFields(Class.java:2371)
> at
> org.apache.openejb.cdi.CdiScanner.tryToMakeItFail(CdiScanner.java:410)
> at org.apache.openejb.cdi.CdiScanner.load(CdiScanner.java:392)
> at
> org.apache.openejb.cdi.CdiScanner.handleBda(CdiScanner.java:313)
> at org.apache.openejb.cdi.CdiScanner.init(CdiScanner.java:180)
> at
> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:179)
> at
> org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:269)
> at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:43)
> at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:974)
> at
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:762)
> at
> org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1337)
> at
> org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1159)
> at
> org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:134)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4380)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:654)
> at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:965)
> at
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1903)
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
> at
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> at
> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
> at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:769)
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:420)
> at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1621)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
> at
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)
> at
> org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776)
> at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
> at
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> at
> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
> at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:412)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.startup.Catalina.start(Catalina.java:761)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:569)
> at
> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
> at
> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
> Caused by: java.lang.ClassNotFoundException:
> net.sf.ehcache.CacheManager
> at
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1380)
> at
> org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:209)
> at
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1189)
> ... 56 more
> {code}
> Just logging the message should be enough
--
This message was sent by Atlassian Jira
(v8.20.10#820010)