Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-2812

Exclude xml-apis from transitive dependencies

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.4.0
    • 4.0.0
    • Libraries
    • None

    Description

      Xerces doesn't actually need xml-apis for the same reason that Saxon doesn't need it.  The xml-apis library is used to provide a consistent set of XML APIs across different Java versions and implementations, but the XML APIs are included in the standard Java runtime library in all current Java LTS releases (8, 11, 17).  We very likely can exclude xml-apis from Daffodil's dependencies safely, although we should do a lot of testing in diverse environments because the whole point of xml-apis is to provide a consistent set of XML APIs in these diverse environments.  Still, Saxon also works in many diverse environments so if it can exclude xml-apis safely in its most recent 12.2 release, it seems that Daffodil can exclude xml-apis safely too.

      Note that Java 8 and Java 11/17 differ in how they package the Java runtime library.  Java 11/17 have added module paths as well as class paths and moved the XML APIs into the standard Java module java.xml (Java SE 11 & JDK 11 ) (oracle.com).  I do not believe Java's standard module path will cause a problem for Daffodil or Java applications embedding Daffodil libraries, but Java applications which use a smaller custom module path may need to add the java.xml module.

      Attachments

        Activity

          People

            slawrence Steve Lawrence
            jinterrante John Interrante
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: