maven中的复杂配置文件

时间:2008-10-06 14:15:08

标签: java maven-2 build-process

我一直在查看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个配置文件,这具有讽刺意味的是我首先要寻找的。

1 个答案:

答案 0 :(得分:2)

Maven的方法是创建大量复杂程度较低的工件。我想说最好的办法是将每个构建的公共部分抽象为一个单独的工件,然后为每个构建创建一个定义构建特定部分的项目。这将为您留下许多项目,但每个项目都会更简单。