Page 1 of 1

Beginnsers Problem

PostPosted: Mon Mar 28, 2016 3:07 am
by Skippy17
Currently have started with docxj, but I have a lot problem with a simple example.

In my example I call

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
wordMLPackage.save(new java.io.File("hworld.docx") );

An the save throw the exception:

org.docx4j.openpackaging.exceptions.Docx4JException: Error marshalling Content_Types
at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:217)
at org.docx4j.openpackaging.io3.Save.save(Save.java:176)
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:604)
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:550)
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:523)
at Main16.main(Main16.java:16)
Caused by: java.lang.NullPointerException
at org.docx4j.openpackaging.contenttype.ContentTypeManager.marshal(ContentTypeManager.java:794)
at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:213)
... 5 more
org.docx4j.openpackaging.exceptions.Docx4JException: Error marshalling Content_Types
at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:217)
at org.docx4j.openpackaging.io3.Save.save(Save.java:176)
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:604)
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:550)
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:523)
at Main16.main(Main16.java:16)
Caused by: java.lang.NullPointerException
at org.docx4j.openpackaging.contenttype.ContentTypeManager.marshal(ContentTypeManager.java:794)
at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:213)
... 5 more

I don't why?

My Envrionment:
Eclipse Mars
JDK 1.8
docx4j-3.2.2.zip

Re: Beginnsers Problem

PostPosted: Mon Mar 28, 2016 9:18 am
by jason
Something strange about your environment...

Please configure logging; see https://github.com/plutext/docx4j/blob/ ... /log4j.xml

and post the log output

Re: Beginnsers Problem

PostPosted: Mon Mar 28, 2016 9:41 pm
by Skippy17
Here the log

[main] WARN org.docx4j.utils.ResourceUtils - Couldn't get resource: docx4j.properties
[main] WARN org.docx4j.Docx4jProperties - Couldn't find/read docx4j.properties; docx4j.properties not found via classloader.
[main] INFO org.docx4j.openpackaging.packages.WordprocessingMLPackage - Using paper size: A4
[main] INFO org.docx4j.openpackaging.packages.WordprocessingMLPackage - Landscape orientation: false
[main] INFO org.docx4j.jaxb.Context - java.vendor=Oracle Corporation
[main] INFO org.docx4j.jaxb.Context - java.version=1.8.0_74
[main] INFO org.docx4j.jaxb.Context - MOXy JAXB implementation intended..
[main] ERROR org.docx4j.jaxb.Context - Cannot initialize context
javax.xml.bind.JAXBException: Provider org.eclipse.persistence.jaxb.JAXBContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory]
at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at org.docx4j.jaxb.Context.<clinit>(Context.java:132)
at org.docx4j.openpackaging.parts.JaxbXmlPart.<init>(JaxbXmlPart.java:86)
at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.<init>(JaxbXmlPartXPathAware.java:56)
at org.docx4j.openpackaging.parts.JaxbXmlPartAltChunkHost.<init>(JaxbXmlPartAltChunkHost.java:58)
at org.docx4j.openpackaging.parts.WordprocessingML.DocumentPart.<init>(DocumentPart.java:156)
at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.<init>(MainDocumentPart.java:90)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:404)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:393)
at Main16.main(Main16.java:10)
Caused by: java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at javax.xml.bind.ContextFinder.safeLoadClass(Unknown Source)
... 13 more
[main] INFO org.docx4j.openpackaging.parts.relationships.RelationshipsPart - adding part with proposed name: /word/document.xml
[main] INFO org.docx4j.XmlUtils - Using com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
[main] INFO org.docx4j.XmlUtils - Using com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
[main] ERROR org.docx4j.openpackaging.packages.WordprocessingMLPackage - null
javax.xml.bind.JAXBException
- with linked exception:
[java.lang.NullPointerException]
at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.unmarshal(JaxbXmlPartXPathAware.java:440)
at org.docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart.unmarshalDefaultStyles(StyleDefinitionsPart.java:147)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:432)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:393)
at Main16.main(Main16.java:10)
Caused by: java.lang.NullPointerException
at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.unmarshal(JaxbXmlPartXPathAware.java:324)
... 4 more
[main] INFO org.docx4j.utils.XPathFactoryUtil - xpath implementation: org.apache.xpath.jaxp.XPathFactoryImpl
[main] INFO org.docx4j.openpackaging.parts.relationships.RelationshipsPart - adding part with proposed name: /docProps/core.xml
[main] INFO org.docx4j.openpackaging.parts.relationships.RelationshipsPart - adding part with proposed name: /docProps/app.xml

Re: Beginnsers Problem

PostPosted: Tue Mar 29, 2016 2:36 am
by Skippy17
I think I have found my problem. The problem was the lib "docx4j-MOXy-JAXBContext-3.0.0.jar". Without this lib the call goes, but the call hangs a little bit.

Re: Beginnsers Problem

PostPosted: Tue Mar 29, 2016 2:47 pm
by jason
Putting docx4j-MOXy-JAXBContext-3.0.0.jar on your classpath says you want to use MOXy as your JAXB implementation, in which case you also need MOXy itself on your classpath.

See further docx-java-f6/moxy-t1242.html#p5598

Re: Beginnsers Problem

PostPosted: Wed Mar 30, 2016 5:39 am
by Skippy17
When I put MOXy in my classpath then I have the problem, but in this case the funktion createPackage is faster, but the doxc is corrupt..

Re: Beginnsers Problem

PostPosted: Wed Mar 30, 2016 6:31 am
by jason
Skippy17 wrote:When I put MOXy in my classpath then I have the problem


What problem?

The problem "ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory" is saying MOXy is not on your classpath (but is expected, because you have docx4j-MOXy-JAXBContext-3.0.0.jar there)