Page 1 of 1

Couldn't get [Content_Types].xml from ZipFile

PostPosted: Wed May 11, 2016 11:49 pm
by Mohammad_awadat
I am using jdk -1.5 and using docx4j-3.2.2.jar using convert from docx to pdf, it working fine inside eclipse

but when test it from command line give me this error: Docx4JException: Couldn't get [Content_Types].xml from ZipFile i search told me to add Moxy jars to solve this issue, but when add the jars give same error

Notes: i add all jar dependencies on this path C:\jdk1.5.22\jre\lib\endorsed ,add JAXB to jdk 1.5

can any one help me Thanks All

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 8:42 am
by jason
Not really supporting Java 1.5 anymore, not in v3.3.0 anyway (where some of the dependencies are compiled for Java 6).

With Java 1.5 you need either the JAXB reference implementation, or MOXy (plus the docx4j MOXy jar).

To help, need to see your complete classpath and the complete stack trace.

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 5:12 pm
by Mohammad_awadat
i attached two files first classpath, second one name of jars in endorsed folder

thnak you for help

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 5:14 pm
by Mohammad_awadat
Mohammad_awadat wrote:i attached two files first classpath, second one name of jars in endorsed folder

CLASSPATH FILE:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/antlr-2.7.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/antlr-runtime-3.3.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/avalon-framework-api-4.3.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/avalon-framework-impl-4.3.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-anim-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-awt-util-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-bridge-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-css-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-dom-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-ext-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-extension-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-gvt-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-js-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-parser-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-script-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-svg-dom-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-svggen-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-transcoder-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-util-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/batik-xml-1.7.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/commons-codec-1.10.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/commons-io-1.3.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/commons-lang-2.4.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/fop-1.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/guava-17.0.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/JAXBNamespacePrefixMapper-2.2.4.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/jaxb-svg11-1.0.2.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/jaxb-xmldsig-core-1.0.0.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/jaxb-xslfo-1.0.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/jcl-over-slf4j-1.7.5.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/junit-4.8.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/log4j-1.2.17.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/mbassador-1.1.10.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/poi-3.8.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/poi-scratchpad-3.8.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/serializer-2.7.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/slf4j-api-1.7.5.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/slf4j-log4j12-1.7.5.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/stringtemplate-3.2.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/wmf2svg-0.9.0.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/xalan-2.7.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/xmlgraphics-commons-1.5.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/ext/activation-1.1.1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/docx4j-3.2.0.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>


JARS ENDORSED FOLDER

activation.jar
antlr-2.7.7.jar
antlr-runtime-3.3.jar
avalon-framework-api-4.3.1.jar
avalon-framework-impl-4.3.1.jar
batik-anim-1.7.jar
batik-awt-util-1.7
batik-bridge-1.7
batik-css-1.7
batik-dom-1.7
batik-ext-1.7
batik-extension-1.7
batik-gvt-1.7
batik-js-1.7
batik-parser-1.7
batik-script-1.7
batik-svg-dom-1.7
batik-svggen-1.7
batik-transcoder-1.7
batik-util-1.7
batik-xml-1.7
commons-codec-1.10
commons-io-1.3.1
commons-lang-2.4
docx4j-3.2.0
docx4j-MOXy-JAXBContext-3.0.0
dom4j-1.5
fop-1.1
guava-17.0
javax.xml.stream-1.0.1
jaxb1-impl
jaxb-api
JAXBNamespacePrefixMapper-2.2.4
jaxb-svg11-1.0.2
jaxb-xjc
jaxb-xmldsig-core-1.0.0
jaxb-xslfo-1.0.1
jcl-over-slf4j-1.7.5
jsr173_1.0_api
junit-4.8
log4j-1.2.17
mbassador-1.1.10
org.eclipse.persistence.antlr-2.5.1
org.eclipse.persistence.asm-2.5.1
org.eclipse.persistence.core-2.5.1
poi-3.8
poi-scratchpad-3.8
serializer-2.7.1
slf4j-api-1.7.5
slf4j-log4j12-1.7.5
stax-1.2.0
stringtemplate-3.2.1
wmf2svg-0.9.0
xalan-2.7.1
xmlgraphics-commons-1.5



thanks you for help

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 6:03 pm
by jason
Delete all that junk from the endorsed folder.

Put the JAXB reference implementation jars in your "CLASSPATH FILE" list, not in endorsed (for Java 1.5, iirc)

Remove JAXBNamespacePrefixMapper-2.2.4.jar from there; you should NOT be adding this!

And you should be good...

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 6:49 pm
by Mohammad_awadat
i removed all jars from endorsed folder and jaxb jars to classpath

give me Bad version number in .class file

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 7:28 pm
by jason
Right, you'll need an older version of the JAXB RI - one which was compiled for Java 1.5

Per tomcat-f23/noclassdeffounderror-at-runtime-t1278.html#p4523

JDK 1.5 is in End Of Life period (http://java.sun.com/j2se/1.5/).

You can get last compatible released version 2_2_4-1:

http://jaxb.java.net/2.2.4-1/

OR checkout from SVN latest compatible not released version 2_2_4-4 and build it by yourself

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 8:22 pm
by Mohammad_awadat
i using these jaxb jars

<classpathentry kind="lib" path="D:/JDeveloper/javaLib/docx4j-3.2.0.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/ext/jaxb-api-2.2.4.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/ext/jaxb-core-2.1.14.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/ext/jaxb-impl-2.2.4-1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/ext/jaxb-xjc-2.2.4-1.jar"/>
<classpathentry kind="lib" path="D:/JDeveloper/javaLib/converter/ext/jsr173_1.0_api.jar"/>

give same error : Bad version number in .class file

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Thu May 12, 2016 9:27 pm
by jason
You don't need xjc or jsr173, so delete those. You'd better clarify the purpose of the core versus impl jars as well ... do you need both?

Which jar gave the bad version number?

You can use https://github.com/plutext/docx4j/blob/ ... Check.java to check. Since you are using 1.5, it is probably worth running that across all the docx4j dependencies. First change line 282 to 1.5

If you are getting that error from a JAXB jar, well, you need to try older ones.

https://jaxb.java.net/2.2.4-1/ the menu on the left gives other versions and release dates. Let us know which one works.

And by the way, why are you using Java 1.5 still? Just curious :-)

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Sun May 15, 2016 10:51 pm
by Mohammad_awadat
dear jason
i using jdk 5 standalone

after add some JARs and run it from command line give this error

C:\jdk1.5.22\bin>java -jar c:\AIMSConverter.jar
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/jdk1.5.22/jre/lib/endorsed/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/AIMSConverter.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
log4j:WARN No appenders could be found for logger (org.docx4j.fonts.fop.fonts.autodetect.FontFileFinder).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "fo1" java.lang.ExceptionInInitializerError
at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:671)
at org.docx4j.openpackaging.io3.Load3.get(Load3.java:132)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:353)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:293)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:243)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:226)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:162)
at com.aims.convert.convDOCXPDF$CreatePdf.run(convDOCXPDF.java:196)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at javax.xml.bind.ContextFinder.find(ContextFinder.java:280)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:358)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:323)
at org.docx4j.jaxb.NamespacePrefixMapperUtils.getPrefixMapper(NamespacePrefixMapperUtils.java:44)
at org.docx4j.jaxb.Context.<clinit>(Context.java:79)
... 9 more


and if add moxy jar give bad version

how can solve this issue thanks

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Tue May 17, 2016 3:13 pm
by jason
Note the following commit message https://github.com/plutext/docx4j/commi ... a956adde31

docx4j v3.2.0 requires Java 1.6, since mbassador and guava deps are compiled for that


So you probably have to use an older docx4j if you're stuck on Java 1.5!

As to your NPE, I can't be sure about that, since the line numbers don't line up, but if it comes from https://github.com/plutext/docx4j/blob/ ... s.java#L48

(ie line 48) well ... start by using an older docx4j, then tell me what happens.

Re: Couldn't get [Content_Types].xml from ZipFile

PostPosted: Sun May 22, 2016 6:09 pm
by Mohammad_awadat
thank you JASON

using DOCX4J with JDK 1.5 us docx4j-3.0.0.jar
and add these jars in endorsed folder as the following (it important versions )
1- activation-1.1.jar
2- jaxb-api-2.2.3.jar
3- jaxb-impl-2.1.3.jar
4- stax-api-1.0-2.jar

i think cant us docx4j updated version than 3.0.0, because using methods exist on jdk 6

thanks