2010-03-06 37 views
1

我有近20个在我的Eclipse工作区的项目。 他们是相互依赖的。 现在我想在一个war文件中构建它们。 事情是日食很好地...如果我创建一个动态Web项目,并链接所有20个项目的来源。 但我想自动化整个过程,并希望能够运行一个脚本(蚂蚁也许..)和在我的应用程序服务器部署一场战争。问题蚂蚁编译我的类出现在不同的Eclipse项目到单个目标目录

我的方法:我从一个简单的方法开始。我试图依次构建每个项目(javac任务)和目标目录作为我的战争的web-inf。 但它给了我奇怪的错误,如:没有找到包“****”,当它显示相同的所有类路径中的所有类(我使用详细)

您认为,持续集成引擎将更好的为我的情况(20个项目..) 我看到团队城市,但没有得到它的第一次...

回答

0

我终于能够按照我的要求编写适当的脚本。 对于每个项目,我都没有使用单独的jar,而是直接与我所有项目的所有类建立单一的战争。 我以前在设置类路径时犯了一个愚蠢的错误。我把它解决了。

1

我知道的所有CI引擎要求您有一个工作的Ant build.xml上班。如果你不能让你的工作,一个CI引擎不会帮助你。

“奇怪”的错误?如果Ant抱怨,这意味着你所假设的东西是正确的。相信蚂蚁。不要以为自己已经掌握了正确的信息,并且深入了解它告诉你的事情。

你的20个项目可能是相互依赖的,但我会质疑他们是否需要在一个包中。他们都是独立的JAR吗?你创建并添加到WAR中?如果是这样,我会编写Ant脚本来首先创建每个JAR。在创建最终的WAR之前,让这些人工作,然后复制到目标WEB-INF/lib。

你的直觉是自动化这是一个很好的。将其分解成更小的步骤。这听起来像你写过一个你现在无法调试的复杂的,复杂的build.xml。退回并从简单的事情开始(例如,编译一个项目并为其创建一个JAR),然后将这些较小的步骤组合成更大,更复杂的整体。

+0

感谢您的回复。建立所有单个项目的罐子并将它们添加到战争中的想法已经跨越了我的想法,但我认为如果我可以将所有这些构建到单个罐子中或直接将它们编译成战争,会更好。 它只是我不想让任何程序化的残疾人走上完全自动化的道路。 :) – KCore 2010-03-08 11:29:41