我正在使用IvyDE来管理我的项目依赖项和Ant来构建我的项目并执行其他一些任务。
所以我的ivy.xml
文件如下所示:
<ivy-module version="2.0">
<info organisation="test" module="test" revision="0-RELEASE"/>
<dependencies>
<dependency org="com.generator" name="Generator" rev="2.0-RELEASE" />
</dependencies>
</ivy-module>
我想在build.xml
文件中定义一个新任务,如下所示:
<taskdef name="generate" classname="com.Generator" />
com.Generator类包装在常春藤依赖中。
现在taskdef
声明不会被编译,这是因为我没有为该类设置classpath
。
我的问题是,如果可以从build.xml
文件引用常春藤依赖关系,那么我可以定义新任务吗?
谢谢 吉拉德
答案 0 :(得分:2)
是的,你可以:
最好的方法是在ivy.xml
文件中为任务添加自己的配置及其依赖项:
<configuration>
<conf name="generator" visibility="private"/>
</configuration>
<dependencies>
…
<dependency org="com.generator"
name="Generator" rev="2.0-RELEASE"
conf="generator->default"/>
</dependencies>
然后您可以在build.xml
:
<ivy:cachepath pathid="generator.classpath"
conf="generator" log="quiet"/>
<taskdef name="generate"
classname="com.Generator"
classpathref="generator.classpath"/>
您需要定义常春藤任务!