2008-10-06 75 views
3

我一直在寻找maven中的配置文件来选择不同的依赖关系。当你想构建一个与发布版本不同的调试版本时,这很好。我的问题是,我想要做更多的事情。对于我的应用程序(移动Java应用程序,其中J2ME只是众多目标中的一个),构建中可能会有大量可能的变体组合。maven中的复杂配置文件

使用一些虚构的命令行语法说明我想看到的,我想像打字像

mvn -Pmidp,debug,local-resources 

什么Maven的做在这种情况下是要建立三种不同的版本。我想要做的就是使用这三个(或更多或更少)开关来影响一个构建。所以我会用'本地资源'来获得一个MIDP目标调试版本(无论对我来说可能是什么意思 - 我相信你可以想象更好的例子)。

我能想到做到这一点的唯一方法就是有很多很多的配置文件,这些配置文件会变得很有问题。在我的例子中,我会有

-Pmidp-debug-localresources 
-Pmidp-release-localresources 
-Pmidp-debug-remoteresources 
-Pmidp-release-remoteresources 
... 

每个都有自己令人沮丧的类似的一组依赖和构建标记。

我不确定我是否已经很好地解释了我的问题,但如果留下评论,我可以重新编写问题以澄清问题。

UPDATE:

的问题是没有真正有效的,因为我就做对的方式行家作品一个错误的假设。

-Pmidp,debug,local-resources 

不做3次构建。它实际上可以在一个版本上启用这3个配置文件,这很讽刺地是我最初想要的。

回答

2

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

+0

我有这个,但它是选择超级内的一个特定的部分,让我难住,特别是当我想在一大组可能的小部件之间进行选择时,每个部件都做一些小事情,并且每个可能都是一个变体另一个。 – izb 2008-10-06 14:29:36