Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何构建项目和it';使用Ant和Ivy创建依赖关系_Java_Ant_Build Automation_Ivy - Fatal编程技术网

Java 如何构建项目和it';使用Ant和Ivy创建依赖关系

Java 如何构建项目和it';使用Ant和Ivy创建依赖关系,java,ant,build-automation,ivy,Java,Ant,Build Automation,Ivy,我有一个WebApp,它有两个依赖项,如下所示。我想使用Ant+Ivy构建一个war文件,以便在Tomcat上部署 + +-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches // a thread contained in MyApp) +-MyApp // this is just a vanilla Java Application +-MyCommonStuff /

我有一个WebApp,它有两个依赖项,如下所示。我想使用Ant+Ivy构建一个war文件,以便在Tomcat上部署

+
+-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,将依赖项连接在一起。然而,我已经阅读了常春藤的文档并在谷歌上搜索了一些例子,但我仍然不知道如何才能完成这项任务。
有人能给我一些建议吗?

你想做的是用电线。这里有很多更精细的细节,但基本上你需要你自己的常春藤存储库,然后在那里发布你自己的项目工件,在其他地方使用它们

对于JAR库项目:

  • 用于获取依赖项,以便将项目构建到库中
  • 用于将构建的JAR发布到您自己的Ivy存储库中
对于战争项目:

  • 再次,使用获取依赖项,以便将项目构建为WAR

至于其他部分,Ant本身有许多任务可以帮助您,还有一些任务是由其他人提供的,例如从SVN获取源代码,以及将WAR文件传输到extenral server。

您要做的是用于连接。这里有很多更精细的细节,但基本上你需要你自己的常春藤存储库,然后在那里发布你自己的项目工件,在其他地方使用它们

对于JAR库项目:

  • 用于获取依赖项,以便将项目构建到库中
  • 用于将构建的JAR发布到您自己的Ivy存储库中
对于战争项目:

  • 再次,使用获取依赖项,以便将项目构建为WAR
至于其他部分,Ant本身有许多任务可以帮助您,还有其他人提供的一些任务,比如从SVN获取源代码,以及将WAR文件传输到extenral服务器