Page 1 of 1

Docx4j 8.0.0 released

PostPosted: Tue Apr 23, 2019 1:20 pm
by jason
docx4j 8.0.0 was released on Monday.

Minimum supported Java version is 8.0

docx4j 8 is intended to be easy to deploy in complex environments such as OSGi, JBoss EAP etc. Please post feedback/findings on this in the deployment forums https://www.docx4java.org/forums/deployment-f22/ OSGi users please see https://github.com/plutext/docx4j/blob/master/OSGi.md

Feature-wise, it is the largely the same as 6.1.2.

However, the jars you need have changed! Please read on...

Maven users

Just add one and only one of docx4j-JAXB-Internal, docx4j-JAXB-MOXy,
or docx4j-JAXB-ReferenceImpl dependencies. This will pull in all required deps; the essential parts of docx4j itself
are in the following jars:

Code: Select all
      org.docx4j:docx4j-core:jar:8.0.0
      +- org.docx4j:docx4j-openxml-objects:jar:8.0.0
      +- org.docx4j:docx4j-openxml-objects-pml:jar:8.0.0
      +- org.docx4j:docx4j-openxml-objects-sml:jar:8.0.0

If you are using Java 8 (which includes JAXB), you can generally just use:

Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
<dependency>
  <groupId>org.docx4j</groupId>
  <artifactId>docx4j-JAXB-Internal</artifactId>
  <version>8.0.0</version>
</dependency>
 
Parsed in 0.000 seconds, using GeSHi 1.0.8.4


If you want to use the JAXB Reference Implementation, use:

Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
<dependency>
  <groupId>org.docx4j</groupId>
  <artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
  <version>8.0.0</version>
</dependency>
 
Parsed in 0.000 seconds, using GeSHi 1.0.8.4


If you want to use MOXy, use:

Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
<dependency>
  <groupId>org.docx4j</groupId>
  <artifactId>docx4j-JAXB-MOXy</artifactId>
  <version>8.0.0</version>
</dependency>
 
Parsed in 0.000 seconds, using GeSHi 1.0.8.4


zip files

If you are not using maven, you can download https://docx4java.org/docx4j/docx4j-community-8.0.0.zip

For convenience, that zip file includes the docx4j-JAXB-Internal jar. So if you are using Java 8, that is generally all you need.

If you want to use MOXy or the JAXB Reference Impl, you'll also need either:

https://docx4java.org/docx4j/docx4j-JAXB-MOXy-8.0.0.zip

or https://docx4java.org/docx4j/docx4j-JAX ... -8.0.0.zip

and be sure to exclude the docx4j-JAXB-Internal jar!

Sample code

Sample code is not in Maven Central.

Zip files are available:

docx4j: https://docx4java.org/docx4j/docx4j-sam ... -8.0.0.zip

xlsx4j: https://docx4java.org/docx4j/docx4j-sam ... -8.0.0.zip

pptx4j: https://docx4java.org/docx4j/docx4j-sam ... -8.0.0.zip

You can also find these in the respective sub-directories at https://github.com/plutext/docx4j

Docx4j properties

Sample properties file may be found at https://github.com/plutext/docx4j/blob/ ... properties

Logging

To see docx4j logs, you'll need a concrete logging implementation. Config files for log4j2 and logback may be found at https://github.com/plutext/docx4j/tree/ ... /resources

For convenience, the sample zips include the deps necessary for those 2 logging implementations.

Cheat sheet

https://docx4java.org/docx4j/plutext-do ... e-v800.pdf

Release notes:

docx4j is now a Maven multi-module project.

Various dependencies were updated (some of which require Java 1.8)

OpenDoPE support for XPath 2.0, 3.0 (requires Saxon)

Uses repackaged and mavenized Xalan; see https://github.com/plutext/xalan-j/tree ... ged_Docx4j

(Release notes copied from https://github.com/plutext/docx4j/blob/ ... ANGELOG.md )