0 Replies Latest reply on Oct 30, 2014 8:56 PM by mdfspiff

    Jboss application that depends on Xalan

    mdfspiff

      Teiid 8.9.0

       

      I'm trying to build a Teiid WFS translator that has a dependency on a third party library called GeoTools.  Unfortunately, GeoTools does not work well with Saxon.  It works well with Xalan or the default jaxp implementation included with the JDK, which I believe is a xalan variant.  My translator has a dependency on the teiid modules and a new GeoTools module that I've created.  Saxon (Saxon-HE-9.5.1-6.jar) is listed as a resource in teiid's main module.

       

      My jboss-deployment-structure file looks something like this:

       

      <?xml version="1.0" encoding="UTF-8"?>

      <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">

          <deployment>

              <dependencies>

                  <module name="org.apache.xerces"/>

                  <module name="org.apache.xalan"/>

                  <module name="org.geotools"/>

                  <module name="org.jboss.teiid">

                      <imports>

                          <exclude-set>

                              <path name="net.sf.saxon"/>

                          </exclude-set>

                      </imports>

                  </module>

              </dependencies>

          </deployment>

      </jboss-deployment-structure>


      No matter what I try, Saxon seems to be the Jaxp implementation loaded at run-time.  I've tried the following:

      1. Excluding the Saxon path from the teiid module.

      2. Specifying a dependency on the xerces and xalan modules.

      3. Removing the dependency on the main teiid module and specifying just the teiid api and teiid common-core modules.

      4. Specifying a dependency on sun.jdk.


      We'd like to contribute this translator back to the Teiid team, but we're struggling to resolve this issue.  I initially posted this questions on the Teiid forum (Custom translator that depends on Xalan), but Mr. Hawkins referred me here.


      Would it help to move the Saxon jar into it's own module?  Would that make it easier to exclude?


      What am I missing?


      Thanks!