Spring 3.0.5 / Tiles 2.2 错误

发布于 2024-11-29 13:36:53 字数 22663 浏览 0 评论 0原文

我有一个在生产环境中使用的大型应用程序。我的图块设置很复杂,每页有很多图块。除了一件事之外,该应用程序运行良好。启动服务器后,第一个页面加载会抛出异常,

apache.commons.digester.Digester at line 789/Digester.getParser

它会抛出以下错误:

UnsupportedOperationException:: This parser does not support specification "null" version null" 

令人惊奇的是,此错误仅发生在第一个页面加载上,所有后续加载都工作正常。寻求这方面的帮助,请让我知道您需要什么信息。提前致谢。

这是嵌套的堆栈跟踪:

ERROR 08-12-11 15:30:05 (apache.commons.digester.Digester:789) ***Digester.getParser: ***
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.SAXParserFactory.setXIncludeAware(SAXParserFactory.java:448)
    at org.apache.commons.digester.Digester.getFactory(Digester.java:534)
    at org.apache.commons.digester.Digester.getParser(Digester.java:786)
    at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
    at org.apache.commons.digester.Digester.parse(Digester.java:1887)
    at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:329)
    at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitions(CachingLocaleUrlDefinitionDAO.java:222)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.checkAndloadDefinitions(CachingLocaleUrlDefinitionDAO.java:204)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinitions(CachingLocaleUrlDefinitionDAO.java:154)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:123)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:54)
    at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:105)
    at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:618)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
    at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.security.internal.AuthFilterChain$LastFilter.doFilter(AuthFilterChain.java:45)
    at weblogic.servlet.security.internal.AuthFilterChain.doFilter(AuthFilterChain.java:37)
    at com.bea.common.security.internal.service.NegotiateIdentityAsserterServiceImpl.callChain(NegotiateIdentityAsserterServiceImpl.java:145)
    at com.bea.common.security.internal.service.NegotiateIdentityAsserterServiceImpl.process(NegotiateIdentityAsserterServiceImpl.java:132)
    at sun.reflect.GeneratedMethodAccessor679.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
    at $Proxy19.process(Unknown Source)
    at weblogic.security.providers.authentication.NegotiateIdentityAsserterServletAuthenticationFilter.doFilter(NegotiateIdentityAsserterServletAuthenticationFilter.java:35)
    at weblogic.servlet.security.internal.AuthFilterChain.doFilter(AuthFilterChain.java:37)
    at weblogic.servlet.security.internal.SecurityModule$ServletAuthenticationFilterAction.run(SecurityModule.java:612)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.security.internal.SecurityModule.invokeAuthFilterChain(SecurityModule.java:501)
    at weblogic.servlet.security.internal.CertSecurityModule.checkUserPerm(CertSecurityModule.java:97)
    at weblogic.servlet.security.internal.SecurityModule.checkAccess(SecurityModule.java:106)
    at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:82)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2116)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

完整堆栈跟踪(上面的错误嵌套在此异常中):

GET /*****_Cust_Search/CustomerDetail?customerId=9 HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: nde-textsize=16px; JSESSIONID_CUSTDETAIL=Bnx0TByHMyvvyDBGb0p9TgCDy1h0n2hlzpckxhdYTsCQ5nJLVSzB!1674277528; ADMINCONSOLESESSION=Gh8nTD9Zpcn26tJBNLVl6q1ZqpQ1jrKTT27ZDL6yLvvvLLC2gjwZ!-975699351; JSESSIONID_CUST=l6GGTGKFYQV1cZ8cnJs2G2891JWclP6FnsDr1vL8bPXvTQpJjn9H!-975699351; JSESSIONID_INSURANCEDETAIL=J1lvTGKQ9G13SM8vYMzG1QPB2R939HQDMgHyJM1GpLG6fyvTJHVX!-975699351; JSESSIONID=gpGtTGYfTKwqh9dG6Q1T305LnbHpGJr6WVNHbx6TQwglXc9lPqgL!-975699351

]] Root cause of ServletException.
java.lang.NullPointerException
    at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
    at org.apache.commons.digester.Digester.parse(Digester.java:1887)
    at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:329)
    at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitions(CachingLocaleUrlDefinitionDAO.java:222)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.checkAndloadDefinitions(CachingLocaleUrlDefinitionDAO.java:204)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinitions(CachingLocaleUrlDefinitionDAO.java:154)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:123)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:54)
    at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:105)
    at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:618)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
    at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

这是 root-context.xml。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- Root Context: defines shared resources visible to all other web components -->

    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/tiles/Templates.xml</value>
            </list>
        </property>
        <property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
    </bean>
</beans>

这是 servlet-context.xmlcontrollers.xmltiles.properties

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xsi:schemaLocation="
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<!--    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
<!--        <beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>-->
<!--        <beans:property name="prefix" value="/WEB-INF/views/" />-->
<!--        <beans:property name="suffix" value=".jsp" />-->
<!--    </beans:bean>-->

    <!-- Imports user-defined @Controller beans that process client requests -->
    <beans:import resource="controllers.xml" />
        <beans:bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
        <beans:property name="basename" value="tiles"/>
    </beans:bean>

    <beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <beans:property name="basenames">
            <beans:list>
                <beans:value>customer</beans:value> 
            </beans:list>
        </beans:property>
    </beans:bean>

</beans:beans>

templates.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- Scans within the base package of the application for @Components to configure as beans -->
    <context:component-scan base-package="redacted.controllers" />

</beans>

CustomerTile.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerTile.url=CustomerTile
CustomerSearchForm.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerSearchForm.url=CustomerSearchForm
CustomerSearchResults.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerSearchResults.url=CustomerSearchResults
EditCustomer.(class)=org.springframework.web.servlet.view.tiles2.TilesView
EditCustomer.url=EditCustomer
NewCustomer.(class)=org.springframework.web.servlet.view.tiles2.TilesView
NewCustomer.url=NewCustomer

我的图块模板)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
    <definition name="baseLayout" template="/WEB-INF/tiles/main-container-tile.jsp">
        <put-attribute name="title" value="AMHOM" />
        <put-attribute name="header" value="normalheader" />
        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
    </definition>

    <definition name="baseLayout2" template="/WEB-INF/tiles/main-container-tile.jsp">
        <put-attribute name="title" value="AMHOM" />
        <put-attribute name="header" value="custdetailheader" />
        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
    </definition>

    <definition name="baseLayout3" template="/WEB-INF/tiles/main-container-tile.jsp">
        <put-attribute name="title" value="AMHOM" />
        <put-attribute name="header" value="editcustheader" />
        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
    </definition>

    <definition name="normalheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/tabs.jsp" />
    </definition>

    <definition name="notabsheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/notabs.jsp" />
    </definition>

    <definition name="custdetailheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/custdetail_tabs-tile.jsp" />
    </definition>

    <definition name="editcustheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/editcust_tabs-tile.jsp" />
    </definition>

    <definition name="completecust" template="/WEB-INF/tiles/custdetail_complete-tile.jsp">
        <put-attribute name="navigation" value="/WEB-INF/tiles/custdetail_cpapnav-tile.jsp" />
        <put-attribute name="customertile" value="/WEB-INF/tiles/custdetail_content-tile.jsp" />
        <put-attribute name="diagtile" value="/WEB-INF/tiles/custdetail_diagnosis-tile.jsp" />
        <put-attribute name="resptile" value="/WEB-INF/tiles/custdetail_responsibleparty-tile.jsp" />
        <put-attribute name="doctortile" value="/WEB-INF/tiles/custdetail_doctor-tile.jsp" />
        <put-attribute name="insurancetile" value="/WEB-INF/tiles/custdetail_insurance-tile.jsp" />
    </definition>

    <definition name="customersearch" template="/WEB-INF/tiles/customersearch_complete-tile.jsp">
        <put-attribute name="errors-tile" value="/WEB-INF/tiles/customersearchform_errors-tile.jsp" />
        <put-attribute name="content-tile" value="/WEB-INF/tiles/customersearchform_content-tile.jsp" />
    </definition>

    <definition name="custsearchresults" template="/WEB-INF/tiles/custsearchresults_complete-tile.jsp">
        <put-attribute name="errors-tile" value="/WEB-INF/tiles/customersearchform_errors-tile.jsp" />
        <put-attribute name="content-tile" value="/WEB-INF/tiles/custsearchresults_content-tile.jsp" />
    </definition>

    <definition name="editcust" template="/WEB-INF/tiles/editcust_complete-tile.jsp">
        <put-attribute name="navigation" value="/WEB-INF/tiles/custdetail_cpapnav-tile.jsp" />
        <put-attribute name="editcustomertile" value="/WEB-INF/tiles/editcust_content-tile.jsp" />
    </definition>

    <definition name="newcust" template="/WEB-INF/tiles/newcust_complete-tile.jsp">
        <put-attribute name="navigation" value="" />
        <put-attribute name="newcustomertile" value="/WEB-INF/tiles/newcust_content-tile.jsp" />
    </definition>

    <definition name="CustomerSearchForm" extends="baseLayout">
        <put-attribute name="title" value="" />
        <put-attribute name="appName" value="Customer Search" />
        <put-attribute name="body" value="customersearch" />
    </definition>
    <definition name="CustomerSearchResults" extends="baseLayout">
        <put-attribute name="title" value="" />
        <put-attribute name="appName" value="Customer Search" />
        <put-attribute name="body" value="custsearchresults" />
    </definition>
    <definition name="CustomerTile" extends="baseLayout2">
        <put-attribute name="title" value="Customer Display" />
        <put-attribute name="appName" value="Customer Display" />
        <put-attribute name="body" value="completecust" />
    </definition>
    <definition name="EditCustomer" extends="baseLayout3">
        <put-attribute name="title" value="Edit Customer" />
        <put-attribute name="appName" value="Edit Customer" />
        <put-attribute name="body" value="editcust" />
    </definition>
    <definition name="NewCustomer" extends="baseLayout3">
        <put-attribute name="title" value="New Customer" />
        <put-attribute name="appName" value="New Customer" />
        <put-attribute name="body" value="newcust" />
    </definition>

</tiles-definitions>

I have a large application used in a production environment. My tiles setup is complex, with many tiles per page. The application works great with the exception of one thing. After starting the server the first page load throws an exception, an error in

apache.commons.digester.Digester at line 789/Digester.getParser

It throws this:

UnsupportedOperationException:: This parser does not support specification "null" version null" 

The amazing thing is, this error only happens on the first page load, all subsequent loads work just fine. Looking for help with this, let me know what info you need. Thanks in advance.

This is the nested stack trace:

ERROR 08-12-11 15:30:05 (apache.commons.digester.Digester:789) ***Digester.getParser: ***
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.SAXParserFactory.setXIncludeAware(SAXParserFactory.java:448)
    at org.apache.commons.digester.Digester.getFactory(Digester.java:534)
    at org.apache.commons.digester.Digester.getParser(Digester.java:786)
    at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
    at org.apache.commons.digester.Digester.parse(Digester.java:1887)
    at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:329)
    at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitions(CachingLocaleUrlDefinitionDAO.java:222)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.checkAndloadDefinitions(CachingLocaleUrlDefinitionDAO.java:204)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinitions(CachingLocaleUrlDefinitionDAO.java:154)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:123)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:54)
    at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:105)
    at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:618)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
    at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.security.internal.AuthFilterChain$LastFilter.doFilter(AuthFilterChain.java:45)
    at weblogic.servlet.security.internal.AuthFilterChain.doFilter(AuthFilterChain.java:37)
    at com.bea.common.security.internal.service.NegotiateIdentityAsserterServiceImpl.callChain(NegotiateIdentityAsserterServiceImpl.java:145)
    at com.bea.common.security.internal.service.NegotiateIdentityAsserterServiceImpl.process(NegotiateIdentityAsserterServiceImpl.java:132)
    at sun.reflect.GeneratedMethodAccessor679.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
    at $Proxy19.process(Unknown Source)
    at weblogic.security.providers.authentication.NegotiateIdentityAsserterServletAuthenticationFilter.doFilter(NegotiateIdentityAsserterServletAuthenticationFilter.java:35)
    at weblogic.servlet.security.internal.AuthFilterChain.doFilter(AuthFilterChain.java:37)
    at weblogic.servlet.security.internal.SecurityModule$ServletAuthenticationFilterAction.run(SecurityModule.java:612)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.security.internal.SecurityModule.invokeAuthFilterChain(SecurityModule.java:501)
    at weblogic.servlet.security.internal.CertSecurityModule.checkUserPerm(CertSecurityModule.java:97)
    at weblogic.servlet.security.internal.SecurityModule.checkAccess(SecurityModule.java:106)
    at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:82)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2116)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Full Stack Trace (Errors above are nested within this exception):

GET /*****_Cust_Search/CustomerDetail?customerId=9 HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: nde-textsize=16px; JSESSIONID_CUSTDETAIL=Bnx0TByHMyvvyDBGb0p9TgCDy1h0n2hlzpckxhdYTsCQ5nJLVSzB!1674277528; ADMINCONSOLESESSION=Gh8nTD9Zpcn26tJBNLVl6q1ZqpQ1jrKTT27ZDL6yLvvvLLC2gjwZ!-975699351; JSESSIONID_CUST=l6GGTGKFYQV1cZ8cnJs2G2891JWclP6FnsDr1vL8bPXvTQpJjn9H!-975699351; JSESSIONID_INSURANCEDETAIL=J1lvTGKQ9G13SM8vYMzG1QPB2R939HQDMgHyJM1GpLG6fyvTJHVX!-975699351; JSESSIONID=gpGtTGYfTKwqh9dG6Q1T305LnbHpGJr6WVNHbx6TQwglXc9lPqgL!-975699351

]] Root cause of ServletException.
java.lang.NullPointerException
    at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
    at org.apache.commons.digester.Digester.parse(Digester.java:1887)
    at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:329)
    at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
    at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitions(CachingLocaleUrlDefinitionDAO.java:222)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.checkAndloadDefinitions(CachingLocaleUrlDefinitionDAO.java:204)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinitions(CachingLocaleUrlDefinitionDAO.java:154)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:123)
    at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:54)
    at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:105)
    at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:618)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
    at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

This is the root-context.xml.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- Root Context: defines shared resources visible to all other web components -->

    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/tiles/Templates.xml</value>
            </list>
        </property>
        <property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
    </bean>
</beans>

This is the servlet-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xsi:schemaLocation="
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<!--    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
<!--        <beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>-->
<!--        <beans:property name="prefix" value="/WEB-INF/views/" />-->
<!--        <beans:property name="suffix" value=".jsp" />-->
<!--    </beans:bean>-->

    <!-- Imports user-defined @Controller beans that process client requests -->
    <beans:import resource="controllers.xml" />
        <beans:bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
        <beans:property name="basename" value="tiles"/>
    </beans:bean>

    <beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <beans:property name="basenames">
            <beans:list>
                <beans:value>customer</beans:value> 
            </beans:list>
        </beans:property>
    </beans:bean>

</beans:beans>

controllers.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- Scans within the base package of the application for @Components to configure as beans -->
    <context:component-scan base-package="redacted.controllers" />

</beans>

tiles.properties

CustomerTile.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerTile.url=CustomerTile
CustomerSearchForm.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerSearchForm.url=CustomerSearchForm
CustomerSearchResults.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerSearchResults.url=CustomerSearchResults
EditCustomer.(class)=org.springframework.web.servlet.view.tiles2.TilesView
EditCustomer.url=EditCustomer
NewCustomer.(class)=org.springframework.web.servlet.view.tiles2.TilesView
NewCustomer.url=NewCustomer

(My Tile Templates) templates.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
    <definition name="baseLayout" template="/WEB-INF/tiles/main-container-tile.jsp">
        <put-attribute name="title" value="AMHOM" />
        <put-attribute name="header" value="normalheader" />
        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
    </definition>

    <definition name="baseLayout2" template="/WEB-INF/tiles/main-container-tile.jsp">
        <put-attribute name="title" value="AMHOM" />
        <put-attribute name="header" value="custdetailheader" />
        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
    </definition>

    <definition name="baseLayout3" template="/WEB-INF/tiles/main-container-tile.jsp">
        <put-attribute name="title" value="AMHOM" />
        <put-attribute name="header" value="editcustheader" />
        <put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
        <put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
    </definition>

    <definition name="normalheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/tabs.jsp" />
    </definition>

    <definition name="notabsheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/notabs.jsp" />
    </definition>

    <definition name="custdetailheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/custdetail_tabs-tile.jsp" />
    </definition>

    <definition name="editcustheader" template="/WEB-INF/tiles/header-tile.jsp">
        <put-attribute name="menutabs" value="/WEB-INF/tiles/editcust_tabs-tile.jsp" />
    </definition>

    <definition name="completecust" template="/WEB-INF/tiles/custdetail_complete-tile.jsp">
        <put-attribute name="navigation" value="/WEB-INF/tiles/custdetail_cpapnav-tile.jsp" />
        <put-attribute name="customertile" value="/WEB-INF/tiles/custdetail_content-tile.jsp" />
        <put-attribute name="diagtile" value="/WEB-INF/tiles/custdetail_diagnosis-tile.jsp" />
        <put-attribute name="resptile" value="/WEB-INF/tiles/custdetail_responsibleparty-tile.jsp" />
        <put-attribute name="doctortile" value="/WEB-INF/tiles/custdetail_doctor-tile.jsp" />
        <put-attribute name="insurancetile" value="/WEB-INF/tiles/custdetail_insurance-tile.jsp" />
    </definition>

    <definition name="customersearch" template="/WEB-INF/tiles/customersearch_complete-tile.jsp">
        <put-attribute name="errors-tile" value="/WEB-INF/tiles/customersearchform_errors-tile.jsp" />
        <put-attribute name="content-tile" value="/WEB-INF/tiles/customersearchform_content-tile.jsp" />
    </definition>

    <definition name="custsearchresults" template="/WEB-INF/tiles/custsearchresults_complete-tile.jsp">
        <put-attribute name="errors-tile" value="/WEB-INF/tiles/customersearchform_errors-tile.jsp" />
        <put-attribute name="content-tile" value="/WEB-INF/tiles/custsearchresults_content-tile.jsp" />
    </definition>

    <definition name="editcust" template="/WEB-INF/tiles/editcust_complete-tile.jsp">
        <put-attribute name="navigation" value="/WEB-INF/tiles/custdetail_cpapnav-tile.jsp" />
        <put-attribute name="editcustomertile" value="/WEB-INF/tiles/editcust_content-tile.jsp" />
    </definition>

    <definition name="newcust" template="/WEB-INF/tiles/newcust_complete-tile.jsp">
        <put-attribute name="navigation" value="" />
        <put-attribute name="newcustomertile" value="/WEB-INF/tiles/newcust_content-tile.jsp" />
    </definition>

    <definition name="CustomerSearchForm" extends="baseLayout">
        <put-attribute name="title" value="" />
        <put-attribute name="appName" value="Customer Search" />
        <put-attribute name="body" value="customersearch" />
    </definition>
    <definition name="CustomerSearchResults" extends="baseLayout">
        <put-attribute name="title" value="" />
        <put-attribute name="appName" value="Customer Search" />
        <put-attribute name="body" value="custsearchresults" />
    </definition>
    <definition name="CustomerTile" extends="baseLayout2">
        <put-attribute name="title" value="Customer Display" />
        <put-attribute name="appName" value="Customer Display" />
        <put-attribute name="body" value="completecust" />
    </definition>
    <definition name="EditCustomer" extends="baseLayout3">
        <put-attribute name="title" value="Edit Customer" />
        <put-attribute name="appName" value="Edit Customer" />
        <put-attribute name="body" value="editcust" />
    </definition>
    <definition name="NewCustomer" extends="baseLayout3">
        <put-attribute name="title" value="New Customer" />
        <put-attribute name="appName" value="New Customer" />
        <put-attribute name="body" value="newcust" />
    </definition>

</tiles-definitions>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

寻梦旅人 2024-12-06 13:36:53

我今天遇到了这个问题,所以我想添加一篇文章,问题是因为 AppSensor (实际上是它的 ESAPI 2.0GA 依赖项),它包含两个不同版本的 xerces (来自 xom 依赖项的 2.6.1 和 2.8) .1 来自 antisamy 依赖项),但 2.6.1 出现在 2.8.1 之前,因此 2.8.1 不包括在内,并且会发生异常。

通过在 POM 中的 AppSensor 依赖项之前添加 2.8.1 依赖项来修复:

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.8.1</version>
</dependency>
<dependency>
    <groupId>org.owasp.appsensor</groupId>
    <artifactId>AppSensor</artifactId>
    <version>${appsensor.version}</version>
</dependency>       

I had this problem today so thought I'd add a post, the problem was because of AppSensor (actually its ESAPI 2.0GA dependency), which comes with two different versions of xerces in its includes (2.6.1 from xom depenency, and 2.8.1 from antisamy dependency), but 2.6.1 comes before 2.8.1 so 2.8.1 is not included and the exception happens.

Fixed by adding a 2.8.1 dependency just before the AppSensor dependency in my POM:

<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.8.1</version>
</dependency>
<dependency>
    <groupId>org.owasp.appsensor</groupId>
    <artifactId>AppSensor</artifactId>
    <version>${appsensor.version}</version>
</dependency>       
仙气飘飘 2024-12-06 13:36:53

weblogic Windows 安装存在一些问题。
setDomainEnv.cmd 中设置此值并重新启动服务器。

set JAVA_OPTIONS=%JAVA_OPTIONS% -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl

There is some issue with weblogic windows installation.
Set this value in your setDomainEnv.cmd and restart the server.

set JAVA_OPTIONS=%JAVA_OPTIONS% -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
时光清浅 2024-12-06 13:36:53

Spring 3.2.1 与tiles 2.2.2 导致了同样的错误。通过更新 xerxesimpl 解决了这个问题。这是 pom.xml 的片段

        <properties>        
    <java-version>1.6</java-version>            
    <org.slf4j.version>1.5.8</org.slf4j.version>
    <log4j.version>1.2.16</log4j.version>
    <xercesImpl.version>2.9.1</xercesImpl.version>
    <org.springframework-version>3.1.2.RELEASE</org.springframework-version>
    <tiles.core.api.servlet.jsp.version>2.2.2</tiles.core.api.servlet.jsp.version>
    </properties>

Spring 3.2.1 with tiles 2.2.2 caused the same error. It was solved by updating xerxesimpl. Here is a snippet of the pom.xml

        <properties>        
    <java-version>1.6</java-version>            
    <org.slf4j.version>1.5.8</org.slf4j.version>
    <log4j.version>1.2.16</log4j.version>
    <xercesImpl.version>2.9.1</xercesImpl.version>
    <org.springframework-version>3.1.2.RELEASE</org.springframework-version>
    <tiles.core.api.servlet.jsp.version>2.2.2</tiles.core.api.servlet.jsp.version>
    </properties>
苏大泽ㄣ 2024-12-06 13:36:53

如果你做了一些愚蠢的事情,比如复制文件顶部的标签,你也可能会得到这个错误:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
    "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<tiles-definitions>
    <definition name="base.page.definition" template="/WEB-INF/layout/basePageLayout.jsp">
...

希望你的眼睛比我的更敏锐,你不必一路走到 SO 才能意识到你的马虎...... :)

You can also get this error if you do something stupid like duplicate the tag at the top of your file:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
    "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
    "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<tiles-definitions>
    <definition name="base.page.definition" template="/WEB-INF/layout/basePageLayout.jsp">
...

Hopefully your eyes are sharper than mine and you won't have to come all the way to SO to realize your sloppines....:)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文