我有一个Java项目依赖于兄弟姐妹的其他Java项目,并且存在一系列依赖项。每个单独的项目都有一个用Ant编写的构建脚本。为清楚起见,请在下面找到相同的样本。
EARProject
取决于WebProject
和EJBProject
:war
版本和WebProject
文件生成的jar
文件构建EJBProject
。
EARProject
生成的内容
WebProject
取决于ComponentOneProject
:构建jar
需要ComponentOneProject
版本生成的WebProject
文件。
EJBProject
取决于ComponentTwoProject
:构建jar
需要ComponentTwoProject
版本生成的EJBProject
文件。
因此,当我构建EARProject
版本时,如果还没有构建依赖war
和jar
,那么它应该启动WebProject
构建和EJBProject
构建,如果尚未构建ComponentOneProject
,则ComponentOneProject
的构建需要启动等等。
有人可以提出一个干净的方法来实现这个目标吗?
答案 0 :(得分:1)
面对同样的问题,我们在公司编写了一个自定义Groovy脚本,探索完整的依赖树,并根据所有.project,.classpath,.settings / *文件生成Ant构建脚本。这并不像第一次那样困难。这样我们就可以在干净的CVS + JDK + Groovy虚拟机上使用(My)Eclipse构建我们的产品。希望它有所帮助..