4 Replies Latest reply on Aug 1, 2003 8:39 AM by frito

    JBoss/Jetty and latest Xerces-J

    morgan

      I'm in the process of upgrading my software and I've run into a little snag
      with JBoss/Jetty and Xerces-J. Everything works fine with JDK 1.4.1_01
      and Xerces-J 2.2.1 (oh, and I should mention that I'm employing Java's
      "Endorsed Standards Override Method"; in other words, "xercesImpl.jar"
      resides in "$JAVA_HOME\jre\lib\endorsed -- this is on a Window machine).
      When I update to Xerces-J 2.4.0 (and that is the only change) I get a file not
      found error. Now, I know that file exists, and looking at the stack trace (which
      I included below) it appears that the XML parser (Xerces-J) is messing up Jetty.

      Does anyone have any ideas on what might be going on (or better yet, how to
      fix it)?

      Thanks,

      Paul

      p.s., I also plan on updating JBoss, but currently I'm using 3.03 (I thought I'd try to update one thing at a time ... maybe I picked the wrong thing to start with)

      [pre]
      15:49:02,987 INFO [jbossweb] Extract jar:file:/C:/Bin/Web/Server/jboss-3.0.3/server/default/tmp/deploy/server/default/deploy/TestApp.ear/63.TestApp.ear-contents/TestApp-Web.war!/ to c:\DOCUME~1\Smith\LOCALS~1\Temp\Jetty_0_0_0_0_8080__app\webapp
      15:49:03,527 WARN [jbossweb] WARNING: Parse error on jar:file:/C:/Bin/Web/Server/jboss-3.0.3/server/default/tmp/deploy/server/def
      ault/deploy/TestApp.ear/63.TestApp.ear-contents/TestApp-Web.war!/
      java.io.FileNotFoundException: C:\Documents%20and%20Settings\Smith\Local%20Settings\Temp\Jetty_0_0_0_0_8080__app\webapp\WEB-
      INF\web.xml
      at org.jboss.net.protocol.file.FileURLConnection.connect(FileURLConnection.java:87)
      at org.jboss.net.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:96)
      at java.net.URL.openStream(URL.java:960)
      at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
      at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at javax.xml.parsers.SAXParser.parse(Unknown Source)
      at org.mortbay.xml.XmlParser.parse(XmlParser.java:127)
      at org.mortbay.xml.XmlParser.parse(XmlParser.java:142)
      at org.mortbay.jetty.servlet.WebApplicationContext.start(WebApplicationContext.java:401)
      at org.mortbay.j2ee.J2EEWebApplicationContext.start(J2EEWebApplicationContext.java:85)
      at org.jboss.jetty.Jetty.deploy(Jetty.java:412)
      at org.jboss.jetty.JettyService.performDeploy(JettyService.java:243)
      at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:300)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:794)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
      at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy4.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:427)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:648)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:499)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:261)
      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
      at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
      at $Proxy0.start(Unknown Source)
      at org.jboss.system.ServiceController.start(ServiceController.java:397)
      at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy3.start(Unknown Source)
      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:249)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:564)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:324)
      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:221)
      at org.jboss.Main.boot(Main.java:148)
      at org.jboss.Main$1.run(Main.java:381)
      at java.lang.Thread.run(Thread.java:536)

      15:49:04,128 INFO [jbossweb] Stopped WebApplicationContext[/app,jar:file:/C:/Bin/Web/Server/jboss-3.0.3/server/default/tmp/
      deploy/server/default/deploy/TestApp.ear/63.TestApp.ear-contents/TestApp-Web.war!/]
      15:49:04,148 INFO [jbossweb] Deregister jboss.web:Jetty=0,JBossWebApplicationContext=2,context=/app
      15:49:04,148 INFO [jbossweb] Successfully undeployed file:/C:/Bin/Web/Server/jboss-3.0.3/server/default/tmp/deploy/server/default
      /deploy/TestApp.ear/63.TestApp.ear-contents/TestApp-Web.war
      15:49:04,188 ERROR [URLDeploymentScanner] Failed to deploy: org.jboss.deployment.scanner.URLDeploymentScanner$DeployedURL@9ef3d113
      { url=file:/C:/Bin/Web/Server/jboss-3.0.3/server/default/deploy/TestApp.ear, deployedLastModified=0 }
      org.jboss.deployment.DeploymentException: C:\Documents%20and%20Settings\Smith\Local%20Settings\Temp\Jetty_0_0_0_0_8080__app\
      webapp\WEB-INF\web.xml; - nested throwable: (java.io.FileNotFoundException: C:\Documents%20and%20Settings\Smith\Local%20Settings\T
      emp\Jetty_0_0_0_0_8080__app\webapp\WEB-INF\web.xml)
      :
      :
      [/pre]

        • 1. Re: JBoss/Jetty and latest Xerces-J
          morgan

          Hmmm, I just downloaded Xerces-J 2.3.0 and that version generates the same error as 2.4.0.

          • 2. Re: JBoss/Jetty and latest Xerces-J
            douglassparker

            I reviously used j2sdk1.4.1-02 with Java Web Services Developer Pack 1.1. When I switched to j2sdk1.4.2 with JWSDP 1.2, I started having the same problem. Did you ever figure this one out? I was planning to go back to the previous version of the JWSDP to see if that fixes the problem. If I get it to work, I will let you know.

            • 3. Re: JBoss/Jetty and latest Xerces-J
              morgan

              Thanks! It would be interesting to know if that's the problem. My "fix" involved switching to the JBoss/Tomcat bundle ... not entirely satisfying.

              • 4. Re: JBoss/Jetty and latest Xerces-J
                frito

                Better fix:
                leave the jboss xerces version as it is, so JBoss and Jetty are using their version.
                Deploy the xerces version you need with your stuff using an ear file. Configure the ear (jboss-app.xml) to have its own class-loader-repository and java2parent delegation = false (read the dtd to see how this is done). Works with JBoss 3.2.x (and a newer 3.0.x ?).

                Greetings,
                Frito