如何在Ant中设置classpath以包含第二个第三方JAR?这与运行this site上的基本使用Schematron with ANT示例有关。该示例说明在页面顶部链接的一个短PDF中。我直接从PDF中将所有文件的内容复制粘贴到Eclipse中。然后,我从上述网站下载了
当我运行构建文件时,出现了以下错误:
如果在“schematron”的类路径中没有列出SAXON JAR文件,将会发生类似的错误。我已经确认“TransformerFactoryImpl”存在于SAXON JAR文件中,但我无法弄清楚如何使Schematron代码识别它。我应该如何设置类路径?(或者,如果我错了,这不是一个类路径问题,那么我该如何使构建成功?)
ant-schematron-2010-04-14.jar
,并从SAXON SourceForge页面获取了saxon9he.jar
。我还更改了构建文件以匹配。不带注释的行号如下:09 <project name="schematron-ant-sample" default="validate">
14 <taskdef name="schematron"
15 classname="com.schematron.ant.SchematronTask"
16 classpath="lib/ant-schematron-2010-04-14.jar; lib/saxon9he.jar" />
22 <target name="validate" description="Test with a Fileset">
23 <schematron schema="sch/sample.sch" failonerror="false">
24 <fileset dir="xml" includes="*.xml" />
25 </schematron>
26 </target>
27 </project>
当我运行构建文件时,出现了以下错误:
validate:
BUILD FAILED
C:\Users\gdawes\Documents\workspace\SchematronAntExample\build.xml:23: /
javax.xml.transform.TransformerFactoryConfigurationError: Provider /
net.sf.saxon.TransformerFactoryImpl not found
Total time: 265 milliseconds
如果在“schematron”的类路径中没有列出SAXON JAR文件,将会发生类似的错误。我已经确认“TransformerFactoryImpl”存在于SAXON JAR文件中,但我无法弄清楚如何使Schematron代码识别它。我应该如何设置类路径?(或者,如果我错了,这不是一个类路径问题,那么我该如何使构建成功?)
{ANT_HOME}\lib
吗? - PopsNoClassDefFoundError
,而不是一个TransformerFactoryConfigurationError
。如果我再次编辑问题,我会把这个加进去(似乎本身并不重要)。 - PopsANT_HOME
指的是C:\Users\gdawes\MyEclipse\Common\plugins\org.apache.ant_1.7.1\lib
的内容。将SAXON JAR添加到该位置可以使Eclipse正常工作。 - Pops