我一直在查看maven中的配置文件,用于选择不同的依赖项集。当你想构建一个与发布版本不同的调试版本时,这很好。我的问题是我想做的比这更多。对于我的应用程序(其中J2ME只是其中一个目标的移动Java应用程序),构建中可能存在大量可能的变体组合。
使用一些虚构的命令行语法来说明我想看到的内容,我想要输入类似
的内容mvn -Pmidp,debug,local-resources
Maven在这种情况下做的是构建三个不同的构建。我想要做的是使用这三个(或更多或更少)开关来影响一个构建。因此,我将使用“本地资源”获得一个MIDP目标调试版本(无论这对我来说意味着什么 - 我相信你能想象出更好的例子)。
我能想到这样做的唯一方法就是拥有大量的配置文件,这些配置文件变得非常棘手。在我的例子中,我有
-Pmidp-debug-localresources
-Pmidp-release-localresources
-Pmidp-debug-remoteresources
-Pmidp-release-remoteresources
...
每个都有自己令人沮丧的相似的依赖关系和构建标记。
我不确定我是否已经很好地解释了我的问题,但如果留下评论,我可以重新编写问题以澄清问题。
更新
这个问题实际上并不合法,因为我对maven的工作方式做了错误的假设。
-Pmidp,debug,local-resources
不做3次构建。事实上它可以在一个版本中实现这3个配置文件,这具有讽刺意味的是我首先要寻找的。 p>
答案 0 :(得分:2)
Maven的方法是创建大量复杂程度较低的工件。我想说最好的办法是将每个构建的公共部分抽象为一个单独的工件,然后为每个构建创建一个定义构建特定部分的项目。这将为您留下许多项目,但每个项目都会更简单。