[ 
https://issues.apache.org/jira/browse/XERCESJ-48?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elliotte Rusty Harold resolved XERCESJ-48.
------------------------------------------
    Resolution: Won't Do

     What changed in later Xerces/Java:                                         
          Deprecate no-args constructors for      
                                                                                
          XERCESJ-339                             
     - Current Xerces (repo is 2.12.3) no longer bundles JAXP API classes: the 
build                                              
       excludes javax/xml/** (build.xml:252,299) and xercesImpl.jar only 
packages org/    Context                                 
       apache/** and META-INF/** (build.xml:337). It also declares 
Automatic-Module-      78,840 tokens                           
       Name: org.apache.xerces (build.xml:340).                                 
          39% used                                
     - Java 9+ puts JAXP in the java.xml platform module. With normal 
parent-first        $0.00 spent                             
       delegation the platform copy wins, and split packages are rejected on 
the                                                  
       module path, so the classic 2001 setup no longer occurs with a clean 
install.      LSP                                     
     - Modern JDK FactoryFinder explicitly checks 
type.isAssignableFrom(providerClass)    LSPs are disabled                       
        and wraps failures in FactoryConfigurationError, so a mismatch now 
usually                                                
       surfaces as FactoryConfigurationError with a ClassCastException cause 
rather                                               
       than a bare CCE.                                                         
                                                  
                                                                                
                                                  
     What is still relevant:                                                    
                                                  
                                                                                
                                                  
     - The binary distribution still ships tools/xml-apis.jar (build.xml:754), 
and                                                
       that jar contains javax/xml/parsers/*.class. If a user puts it together 
with                                               
       xercesImpl.jar on a child-first webapp classloader (or on the module 
path),                                                
       the same duplicate-API/CCE situation can still be recreated. That is a   
                                                  
       deployment/configuration problem, not a parser bug.                      
                                                  
     - docs/faq-general.xml:74 discusses classloader-driven CCEs in Xerces      
                                                  
       ObjectFactory, but not this JAXP duplicate-API case, and it still 
references                                               
       JDK 1.4/endorsed standards and dead IBM links.                           
                                                  
                                                                                
                                                  
     Verdict: Nothing needs fixing in Xerces source for XERCESJ-48 itself; the  
                                                  
     original defect is obsolete for supported modern setups.

> ClassCastException with DocumentBuilderFactoryImpl
> --------------------------------------------------
>
>                 Key: XERCESJ-48
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-48
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: JAXP (javax.xml.parsers)
>    Affects Versions: 2.0.0 [beta 2]
>         Environment: Operating System: Linux
> Platform: Other
>            Reporter: Joel P. Worrall
>
> I was starting up the Tomcat 4.0 servlet engine, running against JDK 1.4 and 
> received the following error when attempting to start the engine.  I'm 
> willing 
> to believe this is just a library issue on my part, but I'm not an idiot and 
> have been hunting it down for 2 days now.  I even rebuilt the XErces2 jar 
> under 
> my running 1.4 environment (by downloading the source and running Ant against 
> my JAVA_HOME.  The Stacktrace follows....
> javax.servlet.ServletException: Servlet.init() for servlet jsp threw exception
>       at org.apache.catalina.core.StandardWrapper.load
> (StandardWrapper.java:871)
>       at org.apache.catalina.core.StandardContext.loadOnStartup
> (StandardContext.java:3267)
>       at org.apache.catalina.core.StandardContext.start
> (StandardContext.java:3384)
>       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
>       at org.apache.catalina.core.StandardHost.start(StandardHost.java:612)
>       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
>       at org.apache.catalina.core.StandardEngine.start
> (StandardEngine.java:307)
>       at org.apache.catalina.core.StandardService.start
> (StandardService.java:388)
>       at org.apache.catalina.core.StandardServer.start
> (StandardServer.java:505)
>       at org.apache.catalina.startup.Catalina.start(Catalina.java:776)
>       at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>       at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:42)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:28)
>       at java.lang.reflect.Method.invoke(Method.java:313)
>       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> ----- Root Cause -----
> java.lang.ClassCastException: 
> org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
>       at javax.xml.parsers.DocumentBuilderFactory.newInstance
> (DocumentBuilderFactory.java:103)
>       at org.apache.jasper.parser.ParserUtils.parseXMLDocument
> (ParserUtils.java:183)
>       at org.apache.jasper.compiler.TldLocationsCache.processWebDotXml
> (TldLocationsCache.java:165)
>       at org.apache.jasper.compiler.TldLocationsCache.<init>
> (TldLocationsCache.java:138)
>       at org.apache.jasper.EmbededServletOptions.<init>
> (EmbededServletOptions.java:324)
>       at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:266)
>       at org.apache.catalina.core.StandardWrapper.load
> (StandardWrapper.java:852)
>       at org.apache.catalina.core.StandardContext.loadOnStartup
> (StandardContext.java:3267)
>       at org.apache.catalina.core.StandardContext.start
> (StandardContext.java:3384)
>       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
>       at org.apache.catalina.core.StandardHost.start(StandardHost.java:612)
>       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
>       at org.apache.catalina.core.StandardEngine.start
> (StandardEngine.java:307)
>       at org.apache.catalina.core.StandardService.start
> (StandardService.java:388)
>       at org.apache.catalina.core.StandardServer.start
> (StandardServer.java:505)
>       at org.apache.catalina.startup.Catalina.start(Catalina.java:776)
>       at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>       at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:42)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:28)
>       at java.lang.reflect.Method.invoke(Method.java:313)
>       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to