'AEM/Jetty and javax.xml.transform.TransformerFactory

We are using the docx4j library to add watermark to the pptx files. Java code below:

public static void main(String[] args) {
try {
   OutputStream object = new FileOutputStream("C:\\test.pptx");
   PresentationMLPackage mlPackage = null;
   BufferedInputStream inputStream = new BufferedInputStream(new URL("https://scholar.harvard.edu/files/torman_personal/files/samplepptx.pptx").openStream(), bufferSize);
   mlPackage = PresentationMLPackage.load(inputStream);

   if(null != mlPackage) {
      MainPresentationPart pp = (MainPresentationPart) mlPackage.getParts().getParts().get(new PartName("/ppt/presentation.xml"));
       for (int i = 0; i < pp.getSlideCount(); i++) {
           SlidePart slidePart = pp.getSlide(i);
           Shape watermark = (Shape) createWatermark("watermark text goes here");
           ((Sld) slidePart.getContents()).getCSld().getSpTree().getSpOrGrpSpOrGraphicFrame().add(watermark);
        }
    }
    if(null != mlPackage) {
       mlPackage.save(outputStream);
    }
} catch (Exception e) {
    System.out.println("Exception inside main  method "+e);
    e.printStackTrace();
}
}

public static Object createWatermark(String watermarkText1) throws JAXBException {
    String OFFX ="offx";
    String OFFY ="offy";
    String EXTCX ="extcx";
    String EXTCY ="extcy";
    HashMap<String, String> mappings = new HashMap<>();
    mappings.put("id", "9999");
    mappings.put("name", "Watermark");
    mappings.put(OFFX, "804291");
    mappings.put(OFFY, "2770742");
    mappings.put(EXTCX, "10533743");
    mappings.put(EXTCY, "1477328");
    mappings.put("watermarkText1", watermarkText1);
    return XmlUtils.unmarshallFromTemplate(sampleWatermark, mappings, Context.jcPML);
}

When I run the above code in eclipse, it is working fine without any issues. Java version: openjdk version "1.8.0_222" classpath file:

    <classpathentry kind="lib" path="C:/jars/commons-lang3-3.10.jar"/>
    <classpathentry kind="lib" path="C:/jars/xmlbeans-3.1.0.jar"/>
    <classpathentry kind="lib" path="C:/jars/poi-scratchpad-4.1.2.jar"/>
    <classpathentry kind="lib" path="C:/jars/common-lang3.jar"/>
    <classpathentry kind="lib" path="C:/jars/commons-io-2.5.jar"/>
    <classpathentry kind="lib" path="C:/jars/commons-logging-1.1.1.jar"/>
    <classpathentry kind="lib" path="C:/jars/poi-ooxml-schemas-4.1.2.jar"/>
    <classpathentry kind="lib" path="C:/jars/poi-ooxml-4.1.2.jar"/>
    <classpathentry kind="lib" path="C:/jars/poi-4.1.2.jar"/>
    <classpathentry kind="lib" path="C:/jars/slf4j-api-1.7.30.jar"/>
    <classpathentry kind="lib" path="C:/jars/httpclient-4.5.4.jar"/>
    <classpathentry kind="lib" path="C:/jars/docx4j-6.1.2.jar"/>
    <classpathentry kind="lib" path="C:/jars/xmlgraphics-commons-1.3.jar"/>
    <classpathentry kind="lib" path="C:/jars/pdfbox-2.0.25.jar"/>
    <classpathentry kind="lib" path="C:/jars/fontbox-2.0.0.jar"/>
    <classpathentry kind="lib" path="C:/jars/serializer-2.7.1.jar"/>
    <classpathentry kind="lib" path="C:/jars/xalan-2.7.2.jar"/>
    <classpathentry kind="lib" path="C:/jars/httpcore-4.4.8.jar"/>
    <classpathentry kind="lib" path="C:/jars/commons-compress-1.20.jar"/>

The same project if I convert to a maven project and deploy it to AEM (Jetty 9.4), we are getting the below error:

Docx4JException in AddWatermark 
org.docx4j.openpackaging.exceptions.Docx4JException: Problem with part /ppt/slides/slide1.xml
    at org.docx4j.openpackaging.parts.JaxbXmlPart.getContents(JaxbXmlPart.java:201)
    
Caused by: javax.xml.bind.JAXBException: Cannot find external method 'org.docx4j.utils.XSLTUtils.logWarn' (must be public).
    at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.unmarshal(JaxbXmlPartXPathAware.java:635)
    at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.unmarshal(JaxbXmlPartXPathAware.java:352)
    at org.docx4j.openpackaging.parts.JaxbXmlPart.getContents(JaxbXmlPart.java:198)
    ... 169 common frames omitted
Caused by: javax.xml.transform.TransformerConfigurationException: Cannot find external method 'org.docx4j.utils.XSLTUtils.logWarn' (must be public).
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:990)
    at org.docx4j.XmlUtils.getTransformerTemplate(XmlUtils.java:1201) 
    at org.docx4j.jaxb.JaxbValidationEventHandler.getMcPreprocessor(JaxbValidationEventHandler.java:63) 
    at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.unmarshal(JaxbXmlPartXPathAware.java:559) 

Updated pom.xml file:

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.docx4j/docx4j -->
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-openxml-objects</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-openxml-objects-pml</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-openxml-objects-sml</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-core</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-diffx</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-docx-anon</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-export-fo</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-conversion-via-microsoft-graph</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-documents4j-remote</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-documents4j-local</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-legacy-service</artifactId>
    <version>8.3.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j-JAXB-Internal</artifactId>
    <version>8.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>org.docx4j.org.apache</groupId>
    <artifactId>xalan-serializer</artifactId>
    <version>8.0.0</version>
</dependency>
<dependency>
    <groupId>org.docx4j.org.apache</groupId>
    <artifactId>xalan-interpretive</artifactId>
    <version>8.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>3.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/xmlgraphics-commons -->
<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>xmlgraphics-commons</artifactId>
    <version>1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-compress</artifactId>
    <version>1.20</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-scratchpad</artifactId>
    <version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
    <version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-examples -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-examples</artifactId>
    <version>4.1.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-excelant -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-excelant</artifactId>
    <version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>fontbox</artifactId>
    <version>2.0.0</version>
</dependency>

We also tried using docx4j-JAXB-ReferenceImpl instead of docx4j-JAXB-Internal, even then we are getting the same error. Info logs for docx4j package:

25.01.2022 05:53:26.671 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.utils.ResourceUtils Attempting to load: docx4j.properties
25.01.2022 05:53:26.672 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.utils.ResourceUtils Trying Thread.currentThread().getContextClassLoader()
25.01.2022 05:53:26.672 *WARN* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.utils.ResourceUtils Couldn't get resource: docx4j.properties
25.01.2022 05:53:26.672 *WARN* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.Docx4jProperties Couldn't find/read docx4j.properties; docx4j.properties not found via classloader.
25.01.2022 05:53:27.416 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Context java.vendor=Oracle Corporation
25.01.2022 05:53:27.416 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Context java.version=1.8.0_202
25.01.2022 05:53:27.416 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Context java.vm.name=Java HotSpot(TM) 64-Bit Server VM
25.01.2022 05:53:35.206 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Context JAXB Context: com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl
25.01.2022 05:53:35.213 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Context Using Java 6+ JAXB implementation
25.01.2022 05:53:35.451 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Context .. other contexts loaded ..
25.01.2022 05:53:35.454 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.contenttype.ContentTypeManager unmarshalling org.docx4j.openpackaging.contenttype.ContentTypeManager
25.01.2022 05:53:35.468 *WARN* [[1643089965513] GET /watermarking HTTP/1.1] **org.docx4j.XmlUtils Xalan jar missing from classpath; xslt not supported**
25.01.2022 05:53:35.470 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils Oracle Corporation
25.01.2022 05:53:35.470 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils 1.8.0_202
25.01.2022 05:53:35.470 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] **org.docx4j.XmlUtils setProperty com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl**
25.01.2022 05:53:35.471 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils actual: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
25.01.2022 05:53:35.471 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils setProperty com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
25.01.2022 05:53:35.471 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils actual: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
25.01.2022 05:53:36.471 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils Results of substitution: <p:sp xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:nvSpPr><p:cNvPr id="9999" name="Watermark"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr><a:xfrm rot="20077037"><a:off x="804291" y="2770742"/><a:ext cx="10533743" cy="1477328"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/></p:spPr><p:txBody><a:bodyPr wrap="square" lIns="91440" tIns="45720" rIns="91440" bIns="45720" anchor="ctr" anchorCtr="1"><a:spAutoFit/></a:bodyPr><a:lstStyle/><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t>test</a:t></a:r></a:p><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t>sane</a:t></a:r></a:p><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t>xxxx test</a:t></a:r></a:p><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t> Test TestReg</a:t></a:r></a:p></p:txBody></p:sp>
25.01.2022 05:53:36.471 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils Unmarshalling '<p:sp xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"><p:nvSpPr><p:cNvPr id="9999" name="Watermark"/><p:cNvSpPr/><p:nvPr/></p:nvSpPr><p:spPr><a:xfrm rot="20077037"><a:off x="804291" y="2770742"/><a:ext cx="10533743" cy="1477328"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom><a:noFill/></p:spPr><p:txBody><a:bodyPr wrap="square" lIns="91440" tIns="45720" rIns="91440" bIns="45720" anchor="ctr" anchorCtr="1"><a:spAutoFit/></a:bodyPr><a:lstStyle/><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t>test</a:t></a:r></a:p><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t>sane</a:t></a:r></a:p><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t>xxxx test</a:t></a:r></a:p><a:p><a:pPr algn="ctr"/><a:r><a:rPr lang="en-US" sz="2400" b="1" dirty="0"><a:ln w="6350" cap="flat"><a:solidFill><a:schemeClr val="tx1"><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln><a:solidFill><a:schemeClr val="bg2"><a:lumMod val="75000"/><a:alpha val="25000"/></a:schemeClr></a:solidFill><a:latin typeface="Arial" panose="020B0604020202020204" pitchFamily="34" charset="0"/></a:rPr><a:t> Test TestReg</a:t></a:r></a:p></p:txBody></p:sp>'
25.01.2022 05:53:36.479 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.parts.Part package name: pkg_1643090006614
25.01.2022 05:53:36.479 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.parts.Part package name: pkg_1643090006614
25.01.2022 05:53:36.479 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.parts.JaxbXmlPart Lazily unmarshalling /ppt/slides/slide1.xml
25.01.2022 05:53:36.479 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware For org.docx4j.openpackaging.parts.PresentationML.SlidePart, unmarshall (no binder)
25.01.2022 05:53:36.479 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.Docx4jUnmarshallerListener org.docx4j.openpackaging.parts.PresentationML.SlidePart
25.01.2022 05:53:36.483 *WARN* [[1643089965513] GET /watermarking HTTP/1.1] **org.docx4j.jaxb.JaxbValidationEventHandler [ERROR] : unexpected element (uri:"http://schemas.openxmlformats.org/markup-compatibility/2006", local:"AlternateContent"). Expected elements are <{http://schemas.openxmlformats.org/presentationml/2006/main}transition>,<{http://schemas.openxmlformats.org/presentationml/2006/main}clrMapOvr>,<{http://schemas.openxmlformats.org/presentationml/2006/main}timing>,<{http://schemas.openxmlformats.org/presentationml/2006/main}extLst>,<{http://schemas.openxmlformats.org/presentationml/2006/main}cSld>
25.01.2022 05:53:36.483 *WARN* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.jaxb.JaxbValidationEventHandler Column is 2259 at line number 2**
25.01.2022 05:53:36.484 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] **org.docx4j.jaxb.JaxbValidationEventHandler shouldContinue is set to false
java.lang.Throwable: null
    at org.docx4j.jaxb.JaxbValidationEventHandler.handleEvent(JaxbValidationEventHandler.java:186) [com.xxxx.yyyy:8.0.0.SNAPSHOT]
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:716)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:247)**
25.01.2022 05:53:36.485 *WARN* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware unexpected element (uri:"http://schemas.openxmlformats.org/markup-compatibility/2006", local:"AlternateContent"). Expected elements are <{http://schemas.openxmlformats.org/presentationml/2006/main}transition>,<{http://schemas.openxmlformats.org/presentationml/2006/main}clrMapOvr>,<{http://schemas.openxmlformats.org/presentationml/2006/main}timing>,<{http://schemas.openxmlformats.org/presentationml/2006/main}extLst>,<{http://schemas.openxmlformats.org/presentationml/2006/main}cSld>
25.01.2022 05:53:36.485 *INFO* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware encountered unexpected content in /ppt/slides/slide1.xml; pre-processing
25.01.2022 05:53:36.487 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.utils.ResourceUtils docx4j.jaxb.JaxbValidationEventHandler resolved to org/docx4j/jaxb/mc-preprocessor.xslt
25.01.2022 05:53:36.487 *DEBUG* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.utils.ResourceUtils Attempting to load: org/docx4j/jaxb/mc-preprocessor.xslt
25.01.2022 05:53:36.507 *ERROR* [[1643089965513] GET /watermarking HTTP/1.1] org.docx4j.XmlUtils Cannot find class 'org.docx4j.utils.XSLTUtils'.
javax.xml.transform.TransformerException: Cannot find class 'org.docx4j.utils.XSLTUtils'.
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.passErrorsToListener(TransformerFactoryImpl.java:804)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:995)

What is the problem with the pom.xml file?



Solution 1:[1]

Don't use com.sun.org.apache.xalan.internal.xsltc for XSLT in docx4j.

docx4j 6.1.2 wants to use org.apache.xalan.processor.TransformerFactoryImpl: https://github.com/plutext/docx4j/blob/docx4j-6.1.2/src/main/java/org/docx4j/XmlUtils.java#L100

You have Xalan 2.7.2 there; try removing provided?

And don't mix your docx4j versions (you have 6.1.2 and variously 8.3.2 and 11.3.2 jars). You shouldn't be using 6.1.2 anymore...

In 8.3.2 docx4j uses "org.docx4j.org.apache.xalan.processor.TransformerFactoryImpl": https://github.com/plutext/docx4j/blob/docx4j-parent-8.3.2/docx4j-core/src/main/java/org/docx4j/XmlUtils.java#L102

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 JasonPlutext