我在Ant中定义了一个新任务。我将其导出为jar并添加到我的构建文件中:
<taskdef classname="X" classpath="Y.jar"/>问题是这在运行时失败了。它告诉我它没有找到这个类。通过将jar添加到类路径中,可以对其进行更正。
我的问题是:有没有一种方法可以在不更改类路径的情况下从Ant构建文件中引用我的jar?
发布于 2010-12-23 00:33:24
如果您知道jar的路径,那么在ant脚本中,您可以为自己的任务定义类路径。
<taskdef name="myTaskName" classname="com.myorg.myclass">
<classpath>
<pathelement location="pathToMyJar.jar"/>
</classpath>
</taskdef>发布于 2010-12-23 00:26:51
是。我假设您看过taskdef的doc,它只显示任务名称和实现类。但是,taskdef是typedef的子类,如果您查看后者的doc,就会发现还有一个classpath属性。
然而,,使用这个属性意味着你的脚本被绑定到一个特定的环境;它们不是很容易移植。一种更好的方法是使用-lib invocation option将类路径传递给Ant。
https://stackoverflow.com/questions/4511129
复制相似问题