Maven多模块构建和运行

时间:2011-09-19 07:35:47

标签: netbeans maven

在我们的一个项目中,我们已将构建系统从Ant切换到Maven。 该项目有许多相应的模块,所以我们决定制作一个多模块Maven项目。我们使用NetBeans进行编码和构建/运行/调试软件。

如果我右键单击超级POM的项目,我可以使用clean和build实际重建所有子模块,以便在超级P​​OM中定义它们。我还可以运行子项目菜单中的代码,该菜单包含编译依赖模块并在以前安装到本地存储库时的主代码。

我想知道从超级POM的菜单中运行项目是否可行?这将涉及运行特定的子模块,但是自动构建所有过时的子模块也是很好的。 (我想如果由runnable工件项目而不是父项目触发,那会更好)之前的Ant系统在Run中执行了此操作。现在我们必须使用Maven手动执行此操作。

我知道重建涉及一次又一次地将重建的工件安装到本地存储库中,但因为我们正在使用SNAPSHOT版本进行开发,所以我认为这不是问题。

2 个答案:

答案 0 :(得分:1)

通常你应该从最终程序集的子项目中执行Run Project ..(jar / war / ..) 要在运行之前启用构建依赖项目,请在受影响的项目上手动执行Build with dependencies或相应地在项目属性面板中配置Run Project操作,请参见屏幕截图http://screencast.com/t/fRAgLdj6

答案 1 :(得分:0)

所以,首先回答一下我的答案。我们使用预集成测试,集成测试和集成后测试阶段来启动我们的应用程序,运行集成测试,并分别关闭它。这是maven的一个常见模式,虽然需要一些工作才能使正确的插件在正确的阶段工作(具体如何做到这一点因应用程序而异)。

鉴于后台,运行mvn pre-integration-test来构建所有内容,启动应用程序,然后让它保持运行(或者只是手动调整添加<defaultGoal>pre-integration-test</defaultGoal>到构建部分)是相当简单的。这非常适合maven模式。