Hello.
I made a standalone application using docx4j and I'm able to create a docx file. Now I need to integrate it into a Jira 6.0 environment and I got the following exception.
2013-08-28 10:20:13,515 ThreadPoolAsyncTaskExecutor::Thread 14 ERROR [extender.internal.activator.ContextLoaderListener] Application context refresh failed (NonValidatingOsgiBundleXmlApplicationContext(bundle=it.mycompany.myplugin, config=osgibundle:/META-INF/spring/*.xml))
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'mycompany-myplugin-component-document-builder' defined in URL [bundle://120.0:0/META-INF/spring/atlassian-plugins-components.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [docx.DocxDocumentExporter]: : Error creating bean with name 'docxDocumentExporter' defined in URL [bundle://120.0:0/META-INF/spring/myplugin-spring-context.xml]: Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'docxDocumentExporter' defined in URL [bundle://120.0:0/META-INF/spring/myplugin-spring-context.xml]: Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:591)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:193)
[...]
Caused by: java.lang.ClassCastException: org.apache.xalan.processor.TransformerFactoryImpl cannot be cast to javax.xml.transform.TransformerFactory
at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
at org.docx4j.XmlUtils.instantiateTransformerFactory(XmlUtils.java:209)
at org.docx4j.XmlUtils.<clinit>(XmlUtils.java:120)
... 47 more
My code is
public class DocxDocumentExporter implements ApplicationContextAware {
private ApplicationContext applicationContext;
public static JAXBContext context = org.docx4j.jaxb.Context.jc;
[...]
and I solved this exception excluding in pom.xml file the xml-apis library from being loaded in the dependencies
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j</artifactId>
<version>2.8.1</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
Now the plugin is correctly loaded but I have the following exception when I try to read the docx template to fill with my data.
org.docx4j.openpackaging.exceptions.InvalidFormatException: Bad [Content_Types].xml
I suppose it's a problem of a not correctly initialized JAXBContext but can anyone to suggest me which is the correct way to integrate docx4j in Jira ?
Thank you in advance
After four days of attempts I found the solution. In my pom.xml I added
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.3</version>
</dependency>
now the context is no more null and the plugin works also into Jira.
I't's just strange because I'm using Java 1.7.0_15 and in docx4j pom.xml these two dependencies are commented and they say to uncomment if used with Java 5
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.