Bug 9841 - java.lang.reflect.InvocationTargetException with a xslt task running FOP 0.20.3
Summary: java.lang.reflect.InvocationTargetException with a xslt task running FOP 0.20.3
Status: RESOLVED DUPLICATE of bug 6606
Alias: None
Product: Ant
Classification: Unclassified
Component: Core (show other bugs)
Version: 1.5
Hardware: Other All
: P3 enhancement (vote)
Target Milestone: ---
Assignee: Ant Notifications List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-13 14:43 UTC by Francis ANDRE
Modified: 2008-02-22 12:18 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Francis ANDRE 2002-06-13 14:43:25 UTC
The build.xml
...
    <property name="fop.home"	value="../tools/FOP/fop-0.20.3"/>	    
    <path id="fop.class.path">
	<pathelement location="${fop.home}/build/fop.jar"/>
	<pathelement location="${fop.home}/lib/batik.jar"/>
	<pathelement location="${fop.home}/lib/xalan-2.0.0.jar"/>
	<pathelement location="${fop.home}/lib/xerces-1.2.3.jar"/>
	<pathelement location="${fop.home}/lib/avalon-framework-4.0.jar"/>
	<pathelement location="${fop.home}/lib/logkit-1.0.jar"/>
	<pathelement location="${fop.home}/lib/jimi-1.0.jar"/>
    </path>

    <target name="clean">
	<delete file="${basedir}/lic/licence.pdf"/>
	<delete file="${basedir}/lic/licence.txt"/>
	<delete file="${basedir}/lic/licence.fo"/>
    </target>

        <taskdef name="xslt" classname="org.apache.fop.tools.anttasks.Xslt">
		<classpath	refid="fop.class.path"/>
	</taskdef>
	<taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop">
		<classpath	refid="fop.class.path"/>
	</taskdef>

	<target	name="pdf.xsl">
		<xslt 	outfile="${basedir}/lic/licence.fo" 
				infile="${basedir}/lic/licence.xml" 
				xsltfile="${basedir}/lic/xml2fo.xsl">
		</xslt>
	</target>

	<target	name="txt">
		<xslt 	outfile="${basedir}/lic/licence.txt" 
				infile="${basedir}/lic/licence.xml" 
				xsltfile="${basedir}/lic/xml2txt.xsl" >
		</xslt>
	</target>
	
	<target	name="pdf" depends="pdf.xsl">
		<fop 	format="application/pdf" 
				outfile="${basedir}/lic/licence.pdf" 
				messagelevel="info"
                fofile="${basedir}/lic/licence.fo">
		</fop>
	</target>
....


Running the previous build.xml is producing the following exception:

Trying to override old definition of task xslt

txt:
     [xslt] ============================
     [xslt] xslt
     [xslt] in: C:\exmlmedia\dev\resources/lic/licence.xml
     [xslt] style: C:\exmlmedia\dev\resources/lic/xml2txt.xsl
     [xslt] out: C:\exmlmedia\dev\resources/lic/licence.txt
     [xslt] ============================
     [xslt] java.lang.reflect.InvocationTargetException: javax.xml.transform.T
nsformerFactoryConfigurationError: Provider for javax.xml.transform.Transforme
actory cannot be found
     [xslt]     at javax.xml.transform.TransformerFactory.newInstance(Unknown
urce)
     [xslt]     at org.apache.fop.tools.xslt.TraxTransform.getTransformer(Trax
ansform.java:48)
     [xslt]     at org.apache.fop.tools.xslt.TraxTransform.transform(TraxTrans
rm.java:100)
     [xslt]     at org.apache.fop.tools.xslt.TraxTransform.transform(TraxTrans
rm.java:64)
     [xslt]     at java.lang.reflect.Method.invoke(Native Method)
     [xslt]     at org.apache.fop.tools.xslt.XSLTransform.transform(XSLTransfo
.java:76)
     [xslt]     at org.apache.fop.tools.xslt.XSLTransform.transform(XSLTransfo
.java:24)
     [xslt]     at org.apache.fop.tools.anttasks.Xslt.transform(Xslt.java:173)
     [xslt]     at org.apache.fop.tools.anttasks.Xslt.execute(Xslt.java:278)
     [xslt]     at org.apache.tools.ant.Task.perform(Task.java)
     [xslt]     at org.apache.tools.ant.Target.execute(Target.java)
     [xslt]     at org.apache.tools.ant.Target.performTasks(Target.java)
     [xslt]     at org.apache.tools.ant.Project.executeTarget(Project.java)
     [xslt]     at org.apache.tools.ant.Project.executeTargets(Project.java)
     [xslt]     at org.apache.tools.ant.Main.runBuild(Main.java)
     [xslt]     at org.apache.tools.ant.Main.start(Main.java)
     [xslt]     at org.apache.tools.ant.Main.main(Main.java)

pdf.xsl:
     [xslt] ============================
     [xslt] xslt
     [xslt] in: C:\exmlmedia\dev\resources/lic/licence.xml
     [xslt] style: C:\exmlmedia\dev\resources/lic/xml2fo.xsl
     [xslt] out: C:\exmlmedia\dev\resources/lic/licence.fo
     [xslt] ============================
     [xslt] java.lang.reflect.InvocationTargetException: javax.xml.transform.T
nsformerFactoryConfigurationError: Provider for javax.xml.transform.Transforme
actory cannot be found
     [xslt]     at javax.xml.transform.TransformerFactory.newInstance(Unknown
urce)
     [xslt]     at org.apache.fop.tools.xslt.TraxTransform.getTransformer(Trax
ansform.java:48)
     [xslt]     at org.apache.fop.tools.xslt.TraxTransform.transform(TraxTrans
rm.java:100)
     [xslt]     at org.apache.fop.tools.xslt.TraxTransform.transform(TraxTrans
rm.java:64)
     [xslt]     at java.lang.reflect.Method.invoke(Native Method)
     [xslt]     at org.apache.fop.tools.xslt.XSLTransform.transform(XSLTransfo
.java:76)
     [xslt]     at org.apache.fop.tools.xslt.XSLTransform.transform(XSLTransfo
.java:24)
     [xslt]     at org.apache.fop.tools.anttasks.Xslt.transform(Xslt.java:173)
     [xslt]     at org.apache.fop.tools.anttasks.Xslt.execute(Xslt.java:278)
     [xslt]     at org.apache.tools.ant.Task.perform(Task.java)
     [xslt]     at org.apache.tools.ant.Target.execute(Target.java)
     [xslt]     at org.apache.tools.ant.Target.performTasks(Target.java)
     [xslt]     at org.apache.tools.ant.Project.executeTarget(Project.java)
     [xslt]     at org.apache.tools.ant.Project.executeTargets(Project.java)
     [xslt]     at org.apache.tools.ant.Main.runBuild(Main.java)
     [xslt]     at org.apache.tools.ant.Main.start(Main.java)
     [xslt]     at org.apache.tools.ant.Main.main(Main.java)

pdf:
      [fop] C:\exmlmedia\dev\resources\lic\licence.fo -> C:\exmlmedia\dev\reso
ces\lic\licence.pdf
      [fop] building formatting object tree
      [fop] [1]
      [fop] [2]
      [fop] [3]
      [fop] [4]
      [fop] [5]
      [fop] [6]
      [fop] [7]
      [fop] Parsing of document complete, stopping renderer

eng:
Comment 1 Stephane Bailliez 2002-08-15 09:56:57 UTC
If you dump a report like this please make your best effort to make it 
something easily reproducible by taking at least the examples of the distrib 
or to attach the sample files. Do not assume the reader familiar with the 
third party package you are using. This was all but necessary here.

Your problem is probably due to a classloader problem since jaxp is in the 
main classloader while your provider is in child classloader, child 
classloader that is not the context classloader thus the fallback to the 
factory finder classloader which is...the main classloader.

I'm degrading this to enhancement and add it as a duplicate of 6606.

In your case your taskdef of xslt is useless since it is a mere duplication of 
the Ant xslt core task. It has been removed in fop 2.0.4

*** This bug has been marked as a duplicate of 6606 ***