3

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

4

1 回答 1

2

Maven 方式是创建大量复杂度较低的工件。我想说你最好的选择是将每个构建的公共部分抽象为一个单独的工件,然后为每个构建创建一个项目来定义构建特定的部分。这会给你留下很多项目,但每个项目都会简单得多。

于 2008-10-06T14:27:00.417 回答