Thank you Kevin
That would probably work for most use cases but I was hoping there was a
filtering / import-package negation solution as that seem more isolated
and robust also in my case the war may be deployed in other containers
so having to complicate the build system is no ideal, anyway thanks for
the input.
Come to think of it maybe using non-overridable-classes element in
geronimo-war.xml could force the use of the war files xerces and
xml-apis classes.
Anyone having suggestions/ideas is welcome to shim in
best regards Peter Petersson
On 08/01/2015 11:37 PM, Kevin Huntly wrote:
I've always been advised that the xerces and xalan jars should go in
jre/lib/endorsed. Maybe give that a try (after removing them from the
war) and see if it works?
________________________________________________
Kevin Huntly
79 Aurora Drive
Cheektowaga, NY 14215
Email: kmhun...@gmail.com <mailto:kmhun...@gmail.com>
Cell: 716/341-5669
LinkedIn: http://www.linkedin.com/in/kevinhuntly
________________________________________________
-----BEGIN GEEK CODE BLOCK-----
Version: 1.0
GCS/IT d+ s a C++ UL+++$ P+(++) L+++ E---
W+++ N+ o K(+) w--- O- M-- V-- PS+ PE Y(+)
PGP++(+++) t+ 5-- X-- R+ tv+ b++ DI++ D++
G++ e(+) h--- r+++ y+++*
------END GEEK CODE BLOCK------
On Aug 1, 2015 14:23, "Peter Petersson" <petersson.pe...@gmail.com
<mailto:petersson.pe...@gmail.com>> wrote:
Hi
I am hitting a class loader problem that I need some help
resolving (maybe someone already have resolved this).
I get the following stack trace (snippet, more below) when I try
to deploy my war file in geronimo 3.0.1 (tomcat7)
2015-08-01 01:10:28,646 ERROR [[/xxxxxxx]] Exception starting
filter LiftFilter
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
I have found that the problem is related to reading Lifts
resource/props/*.props files (a plain text file containing key
value pair strings).
I have come to this conclusions as disabling the properties files
by emptying the content, removing the files or changing the .props
extension to something like *.props.disabled then the war file
will install and load as expected (although without the properties
loaded).
In my war files /WEB-INF/lib/ I have **xerces:xercesImpl:2.11.0**
and **xml-apis:xml-apis:1.4.01** and the
org/w3c/dom/ElementTraversal class is in the xml-apis jar but when
running in Geronimo this class is not reached for some reason
(running in vanilla jetty works). I have tried some filter options
in geronimo-web.xml but so far have not found a working setup.
Anny ideas on how to resolve this ?
best regards Peter Petersson
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at
org.apache.geronimo.hook.equinox.GeronimoClassLoader.defineClass(GeronimoClassLoader.java:213)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:601)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458)
at
org.apache.geronimo.hook.equinox.GeronimoClassLoader.findLocalClass(GeronimoClassLoader.java:237)
at
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at
org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at
org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown
Source)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown
Source)
at
org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
Source)
at java.util.XMLUtils.getLoadingDoc(XMLUtils.java:102)
at java.util.XMLUtils.load(XMLUtils.java:74)
at java.util.Properties.loadFromXML(Properties.java:868)
at
net.liftweb.util.Props$$anonfun$7$$anonfun$apply$5.apply(Props.scala:309)
at
net.liftweb.util.Props$$anonfun$7$$anonfun$apply$5.apply(Props.scala:304)
at net.liftweb.common.Full.map(Box.scala:806)
at net.liftweb.util.Props$$anonfun$7.apply(Props.scala:304)
at net.liftweb.util.Props$$anonfun$7.apply(Props.scala:300)
at scala.Function1$$anonfun$andThen$1.apply(Function1.scala:55)
at scala.collection.immutable.Stream.flatMap(Stream.scala:493)
at net.liftweb.util.ListHelpers$class.first(ListHelpers.scala:139)
at net.liftweb.util.Helpers$.first(Helpers.scala:34)
at net.liftweb.util.Props$.props$lzycompute(Props.scala:300)
at net.liftweb.util.Props$.props(Props.scala:278)
at net.liftweb.util.Props$.getBool(Props.scala:64)
at net.liftweb.util.Props$.getBool(Props.scala:65)
at net.liftweb.http.LiftServlet.<init>(LiftServlet.scala:921)
at net.liftweb.http.LiftServlet.<init>(LiftServlet.scala:48)
at
net.liftweb.http.provider.HTTPProvider$class.bootLift(HTTPProvider.scala:104)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:1063)
at
net.liftweb.http.provider.servlet.ServletFilterProvider$class.init(ServletFilterProvider.scala:40)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:1063)
at
org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4746)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5399)
at
org.apache.geronimo.tomcat.GeronimoStandardContext.access$201(GeronimoStandardContext.java:121)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:723)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:48)
at
org.apache.geronimo.tomcat.valve.ProtectedTargetValve.invoke(ProtectedTargetValve.java:53)
at
org.apache.geronimo.tomcat.GeronimoStandardContext.startInternal(GeronimoStandardContext.java:459)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at
org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:310)
at
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:567)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1000)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:271)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:555)
at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:110)
at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:145)
at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:119)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:45)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:301)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:127)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:569)
at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:386)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:466)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:225)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:710)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:689)
at
org.apache.geronimo.console.configmanager.ConfigManagerPortlet.processAction(ConfigManagerPortlet.java:164)
at
org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:117)
at
org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:84)
at
org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:112)
at
org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:359)
at
org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
at
org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
at
org.apache.pluto.driver.container.DefaultPortletInvokerService.action(DefaultPortletInvokerService.java:101)
at
org.apache.pluto.container.impl.PortletContainerImpl.doAction(PortletContainerImpl.java:251)
at
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:135)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.geronimo.console.filter.RedirectByHashFilter.doFilter(RedirectByHashFilter.java:116)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.geronimo.console.filter.PlutoURLRebuildFilter.doFilter(PlutoURLRebuildFilter.java:48)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.geronimo.console.filter.XSSXSRFFilter.doFilter(XSSXSRFFilter.java:137)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.geronimo.tomcat.security.SecurityValve.invoke(SecurityValve.java:89)
at
org.apache.geronimo.tomcat.security.jacc.JACCSecurityValve.invoke(JACCSecurityValve.java:54)
at
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:731)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:48)
at
org.apache.geronimo.tomcat.valve.ProtectedTargetValve.invoke(ProtectedTargetValve.java:53)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at
org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net
<http://org.apache.tomcat.util.net>.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:267)
at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:397)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException:
org.w3c.dom.ElementTraversal
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:467)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at
org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 131 more
2015-08-01 01:10:28,647 ERROR [StandardContext] Error filterStart