嗨,我需要一些关于 Maven 问题的信息或一般提示。
背景:我们刚刚将一个大的 eclipse 项目迁移到 4 个 maven 项目中。(这是朝着好的方向迈出的一步!)我们正在使用 ant 脚本(build.xml)构建那个/那些项目我们正在选择“按需”执行的任务
为了简单起见,这里有 4 个项目:Core、Client、Server、Admin。这些 Maven 项目中的每一个都构建到一个 jar 中。这已经建立并且运行良好。核心是对客户端和服务器的依赖。
我们在远程服务器上使用 Jenkins-CI 和 Artifactory。
问题:我需要创建某种“父项目”来构建所有其他 maven 项目,并“按需”添加一些我们使用 ant 脚本执行的任务。示例:我们想为我们的开发人员在本地构建(所以我们不使用 jenkins 和 artifactory),以便他们可以手动测试他们的更新(是的,我们现在没有测试,我们正在使用遗留系统)。在这个构建中,我们不想混淆代码或签署我们的 jar..etc 我们还想要一个“客户构建”(我们在服务器上推送的真正版本,所以它确实使用了 jenkins 和 artifactory)这将添加一些对 4 个项目中的一些项目的任务,例如混淆代码、签署 jar ..etc 对于这个“客户构建”,我们需要能够“即时”选择我们对库的依赖,或者更像是“按需” ”。我们的程序是对另一个软件的扩展,我们所有的客户都不使用相同的版本。为了简单起见,库“y”可以是 y-2.0.1.jar 或 y-2.0.2.jar.. 等等我需要的所有这些“任务”都可以在不同的 maven-plugin 中完成,没有问题。
问题:解决我的问题的好习惯是什么。我们真的很想摆脱我们的 ant 脚本。此外,我们正在清理一个又大又脏的项目,所以我想要一个干净的解决方案,每次我们想为我们的客户在本地或远程服务器上构建时,没有大量重复的东西或大量的手动任务。
想法:虽然我可以在所有这 4 个项目中使用不同的 maven 配置文件,正如我在那里看到的那样: Ant to Maven - multiple build targets但是每个项目我都会有一个非常巨大的 pom.xml,里面有很多重复的东西,所以我真的不不喜欢这个主意。我虽然我们可以有一个父 maven 项目,但这将不包含任何代码,所以我认为我也对这个想法有误。
感谢您的回答和您的时间!