一步完成javaweb应用程序的构建

一步完成javaweb应用程序的构建,java,tomcat,ant,build-automation,Java,Tomcat,Ant,Build Automation,“状态”的第二步你能一步完成一个构建吗。我目前的回答是否定的。我的申请结构如下: + +-MyApp // this is just a vanilla Java Application +-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches // a thread contained in MyApp) +-MyCommonStuff // these are commo

“状态”的第二步你能一步完成一个构建吗。我目前的回答是否定的。我的申请结构如下:

+
+-MyApp // this is just a vanilla Java Application
+-MyWebApp // this Dynamic Java Web Application (deployed Tomcat and launches
           // a thread contained in MyApp) 
+-MyCommonStuff // these are common classes shared between MyApp and MyWebApp
                // Ex. Database access code & business classes
为了构建和部署我的软件,我执行以下步骤:
1.从svn签出MyApp、MyWebApp和MyCommonStuff
2.构建MyCommonStuff.jar并复制到“libs”目录
3.构建MyApp并复制到“libs”目录
4.build MyWebApp.war(Ant build.xml文件指定MyApp.jar和MyCommonStuff.jar的位置)
5.build.xml的deploy部分使用Tomcat部署任务部署到Tomcat服务器

我的问题是上面的Joel规则是否适用于这种情况。i、 e.是否有执行步骤1的“主”构建脚本。到5.?
脚本应该是一个普通的#/bin/sh脚本,还是有我可以利用的工具。我更喜欢使用Ant和linux控制台命令。
谢谢

您可以(也应该)使用。它支持所需的一切(通过插件)。您只需要遵守它的目录约定


此外,我建议使用一个持续集成引擎,它将接受您的maven配置并执行和部署所有内容。和都是很好的选择。

如果您只想使用Ant,Maven的另一个选择是。这只是一个依赖关系管理器,有点像Maven,但没有Maven所做的所有其他事情


我建议使用其中一种。如果您有一个项目具有这样的依赖项,那么如果您将它们存储在一个中央存储库中并使用依赖项管理器来包含它们,您将使您自己变得更加容易

您应该编写一个全局Ant脚本,通过


阅读其他答案后编辑:您还应该使用maven。但是,如果Maven真的太过火了,而您只想在一个步骤中启动整个构建,那么就使用global build.xml

我觉得使用Maven对于我想要实现的目标来说是一种过火的行为。学习曲线对于我得到的回报来说太陡了——这就是为什么我说“我的偏好是坚持使用Ant和linux控制台命令”。谢谢。这通常是一个错误的想法。Ant脚本能够做到这一点,但最终会得到一个比使用maven更复杂的脚本,这比使用maven更难支持。即使只是为了一些简单的事情,如果您要维护/扩展项目,使用像maven这样的标准工具在将来可能会有回报。然而,maven中存在一些难点,特别是如果有一些库尚未被maven化(但您正在使用)。也许ant是一个不错的选择,因为所有非maven化的库都可以在本地存储库中使用,所以这没有问题。他需要“maven所做的所有其他事情”: