4 Replies Latest reply on Oct 21, 2004 11:25 AM by chiba

    problem with  xml  parser

    dex

       

      "dex" wrote:
      "dex" wrote:

      I have this problem when use DOM in

      return getDomBuilder().parse(new java.io.File(filename)).getDocumentElement();


      exception returned is:

      Exception in thread "main" java.lang.LinkageError: loader constraints violated when linking org/xml/sax/ErrorHandler class
      at com.altova.xml.Document.getDomBuilder(Document.java:36)
      at com.altova.xml.Document.load(Document.java:93)
      at knowledgebase.modelecontenu.FileIOManager.openFileAndParse(FileIOMana
      ger.java:74)
      at knowledgebase.modelecontenu.ContenuCore.loadFile(ContenuCore.java:331
      )
      at astus.interfacecommunication.components.Contenu.get_contenu(Contenu.j
      ava:40)
      at cyberscience.eventserver.server.ReflectClass.main(ReflectClass.java:2
      7)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at javassist.Loader.run(Loader.java:247)
      at javassist.Loader.run(Loader.java:233)
      at javassist.reflect.Loader.main(Loader.java:121)

      when use :



      return getDomBuilder().parse(new java.io.File(filename)).getDocumentElement();



      why?


        • 1. Re: problem with  xml  parser
          dex

           

          "dex" wrote:
          "dex" wrote:
          i fix problem with patch in Loader
          //// patch
          || name.startsWith("com.altova.")|| name.startsWith("org.apache.")
          || name.startsWith("org.w3c.")|| name.startsWith("org.xml.")
          //// patch


          • 2. Re: problem with  xml  parser
            ksclarke

            I had this same problem and came to the same conclusion. Is there a reason why org.xml. is not passed to the parent classloader like the rest of the jre classes?


            "dex" wrote:
            "dex" wrote:
            "dex" wrote:
            i fix problem with patch in Loader
            //// patch
            || name.startsWith("com.altova.")|| name.startsWith("org.apache.")
            || name.startsWith("org.w3c.")|| name.startsWith("org.xml.")
            //// patch


            • 3. Re: problem with  xml  parser
              chiba

              Due to some dark side of Java class loaders,
              several classes must be loaded by the same
              class loader as other jre classes.

              If you're interesting, please read Section 3.2
              in the Javassist tutorial.

              • 4. Re: problem with  xml  parser
                chiba

                And you do not have to modify Loader class.
                Please call Loader#delegateLoadingOf()
                instead of using the patch code above.