Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在 Ant 中定义一个新任务。我将它导出为 jar 并添加到我的构建文件中:
<taskdef classname="X" classpath="Y.jar"/>
问题是这在运行时失败。它告诉我它没有找到课程。通过将 jar 添加到类路径中,它得到了纠正。
我的问题是:有没有一种方法可以在不更改类路径的情况下从 Ant 构建文件中引用我的 jar?
如果您知道 jar 的路径,则可以在 ant 脚本中为自己的任务定义类路径。
<taskdef name="myTaskName" classname="com.myorg.myclass"> <classpath> <pathelement location="pathToMyJar.jar"/> </classpath> </taskdef>
是的。我假设您查看了文档,taskdef它只显示了任务名称和实现类。但是,taskdefsubclasses typedef,如果您查看后者的文档,您会发现还有一个classpath属性。
taskdef
typedef
classpath
但是,使用此属性意味着您的 ant 脚本与特定环境相关联;它们不是很便携。更好的方法是使用-lib 调用选项将类路径传递给 Ant 。
-lib