History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: APF-846
Type: Bug Bug
Status: Resolved Resolved
Resolution: Won't Fix
Priority: Major Major
Assignee: Matt Raible
Reporter:
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
AppFuse

Exception when jetty tries to restart webapp after change in watched files

Created: 13/Aug/07 08:37 AM   Updated: 02/Dec/07 07:28 PM
Component/s: Web - Struts
Affects Version/s: 2.0-M5
Fix Version/s: 2.0 Final

Environment: Windows Vista, JDK 1.6.0_02


 Description  « Hide
When jetty attempts to restart the webapp (via jetty:run goal), an exception is thrown.
This bug does not occur under JDK 5.

[ERROR] Error reconfiguring/restarting webapp after change in watched files
Caught exception while loading file struts-default.xml - [unknown location]
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:795)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:132)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
        at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:398)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:455)
        at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
        at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:95)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:38)
        at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:545)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1137)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:461)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:38)
        at org.mortbay.jetty.plugin.Jetty6PluginWebApplication.start(Jetty6PluginWebApplication.java:138)
        at org.mortbay.jetty.plugin.Jetty6RunWar$1.changesDetected(Jetty6RunWar.java:129)
        at org.mortbay.jetty.plugin.util.Scanner.run(Scanner.java:158)
Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
        at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
        at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
        at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:69)
        at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(TransletOutputHandlerFactory.java:187)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.setResult(TransformerHandlerImpl.java:137)
        at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setup(DomHelper.java:213)
        at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:198)
        at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:189)
        at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.<init>(DomHelper.java:175)
        at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)
        at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:786)
        ... 17 more

 All   Comments   Change History   FishEye      Sort Order:
- 13/Aug/07 08:38 AM
The exception suggests that this is related to the version of xerces used by the jdk.

When I added my own xerces.jar, xercesImpl.jar, xalan.jar, and xml-apis.jar to
$JAVA_HOME/jre/lib/endorsed, the problem was resolved.


Matt Raible - 17/Sep/07 12:30 PM
This seems to be caused by JDK 6 and is out of my control as far as fixing it.

Jason Wood - 02/Dec/07 07:28 PM
Thanks for the suggestion above. An alternative if you are using Apache Tomcat is to put the JAR files in the $TOMCAT_HOME/shared/lib/ directory, then restart Tomcat.