我有一个带有两个依赖项的WebApp,如下所示。我想使用Ant + Ivy构建一个用于在Tomcat上部署的war文件。
+
+-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches
// a thread contained in MyApp)
+-MyApp // this is just a vanilla Java Application
+-MyCommonStuff // these are common classes shared between MyApp and MyWebApp
// Ex. Database access code & business classes
使用Ant文档我已经研究了如何为每个项目创建适当的build.xml文件。 换句话说,每个项目都有一个独立的build.xml,所以为了构建整个项目,我所要做的就是:
mkdir build
cd build
export SOME_COMMONBASE=`pwd`
svn co https://mybuildmachine.lan/svn/mycommonstuff mycommonstuff
cd mycommonstuff
ant
cd ..
% this produces mycommonstuff.jar
svn co https://mybuildmachine.lan/svn/myapp myapp
cd myapp
ant
cd ..
% this produces myapp.jar
svn co https://mybuildmachine.lan/svn/mywebapp mywebapp
cd mycommonstuff
ant
cd ..
% this produces mywebapp.war and deploys it to Tomcat
现在我想做的就是把它们放在一起,这样我就可以开始构建一个版本。表面上看起来我应该能够以某种方式创建一个Ivy build.xml,它将依赖关系连接在一起。但是,我已经阅读了常春藤文档和Googled示例,但我仍然不知道如何完成这项任务。 有人可以给我一些关于如何做到这一点的指示吗?
答案 0 :(得分:0)
您要做的是使用Ivy's Ant tasks进行布线。那里有很多更精细的细节,但基本上你需要你自己的Ivy存储库,然后只需在那里发布你自己的项目工件就可以在其他地方使用它们。
对于JAR库项目:
对于WAR项目:
至于其他部分,Ant本身有许多任务可以帮助你,然后由其他人提供一些任务,例如svn task by tigris用于从SVN获取源,而Ant's optional SCP task用于将WAR文件传输到外部服务器。