免责声明:我是使用Ant + Ivy的新手
我有以下eclipse配置:
ProjectA 取决于 ProjectB 和 ProjectC
ProjectB 取决于 ProjectC
每个项目都拥有自己的ivy.xml文件。
ProjectA有一个build.xml文件,如下所示:
(...)
<ivy:resolve file="../ProjectC/ivy.xml" />
<ivy:cachepath pathid="ivy.deps.default" conf="default" />
<ivy:cachefileset setid="ivy.deps.default.fileset" conf="default"/>
<ivy:resolve file="../ProjectB/ivy.xml" />
<ivy:cachepath pathid="ivy.deps.default" conf="default" />
<ivy:cachefileset setid="ivy.deps.default.fileset" conf="default"/>
<ivy:resolve file="ivy.xml" />
<ivy:cachepath pathid="ivy.deps.default" conf="default" />
<ivy:cachefileset setid="ivy.deps.default.fileset" conf="default"/>
<path id="classpath">
<fileset dir="${webroot}/WEB-INF/lib" erroronmissingdir="no">
<include name="*.jar"/>
</fileset>
<fileset dir="${libraries}" erroronmissingdir="no">
<include name="*.jar"/>
</fileset>
<path refid="ivy.deps.default"/>
</path>
(...)
<javac destdir="c:/abc" includeantruntime="yes" classpathref="ivy.deps.default">
<src path="../ProjectC/src"/>
<classpath refid="classpath"/>
</javac>
(... Compile ProjectB ...)
(... Compile ProjectA ...)
因此,运行此build.xml会导致错误,说ProjectC无法编译,因为它缺少应该由ivy:resolve命令解析的* .jar文件。
我的问题是:
答案 0 :(得分:1)
看起来每个项目都有一个常春藤文件,但是每个项目都没有构建文件。正如Mark在上述评论中所说,每个项目都应该单独构建。
例如:
<resolvers>
列表,以便IVY在那里寻找依赖那应该让你参加比赛!
专业提示:而不是&#34; SharedLibrary&#34;目录,考虑使用类似Artifactory之类的东西来管理工件并从那里拉取。