我的Eclipse工作区中有大约20个项目。 它们是相互依存的。 现在我想在一个war文件中构建所有这些。 事情是eclipse做得很好......如果我创建一个动态Web项目并链接所有20个项目的源。 但我希望自动化整个过程,并希望能够运行脚本(蚂蚁可能......)并在我的应用服务器中部署战争。
我的方法:我从一个简单的方法开始。我尝试按目标目录顺序构建每个项目(javac任务)作为我的战争的web-inf。 但它给了我奇怪的错误,如:包“****”未找到,当它显示相同的所有类classpath(我使用详细)
你认为,一个连续的集成引擎对我的情况会更好(20个项目..) 我看过Team City,但第一次没得到它......
答案 0 :(得分:1)
我所知道的所有CI引擎都要求您有一个可用的Ant build.xml才能工作。如果你不能让你的工作,CI引擎将无法帮助你。
“奇怪”的错误?如果Ant抱怨,那就意味着你所假设的东西是正确的。相信蚂蚁。不要以为你已经把它弄好了,并深入了解它告诉你的内容。
您的20个项目可能是相互依赖的,但我会质疑它们是否需要在一个包中。它们都是您创建并添加到WAR的单独JAR吗?如果是这样,我会编写Ant脚本来首先创建每个JAR。获取那些工作,然后在创建最终WAR之前将副本复制到目标WEB-INF / lib。
您自动执行此操作的本能很好。将其分解为更小的步骤。听起来像你写了一个你现在无法调试的冗长复杂的build.xml。退回并从简单的事情开始(例如,编译单个项目并为其创建JAR),然后将这些较小的步骤组合成您想要的更大,更复杂的整体。
答案 1 :(得分:0)
我终于能够根据我的要求编写适当的脚本了。 我没有为每个项目使用sepearate jar,而是直接用我所有项目的所有类构建了一个单独的战争。 我之前在设置类路径时犯了一个愚蠢的错误。我整理了一下。