可以在不同的文件中定义Maven配置文件吗?

时间:2010-12-15 08:18:02

标签: maven

我有一个继承的Maven项目没有配置文件设置,但是我需要为dev / int / staging等设置不同的不同配置文件。

从我读过的内容我可以将配置文件元素放入主POM但是有很多依赖配置元素,所以这个文件会变得很大,所以我想知道是否有办法告诉主POM引用不同的文件,所以它会是这样的:

  • 的pom.xml
  • DevProfile.xml
  • IntProfile.xml
  • StaProfile.xml

我认为它不可能,我只需要处理一个庞大的POM,但我想如果可能的话我会问。

1 个答案:

答案 0 :(得分:3)

Profiles可以放在POM内部,也可以放在Settings外面。你最好将机器特定的设置保存在POM之外(如你所注意的),但你不能在设置中包含依赖项(据我所知)。

我必须包含本机库之类的东西作为依赖项并成功使用了配置文件,但确实必须使用POM。 (注意,这是我认为需要在配置文件中包含deps的唯一原因之一,通常你不应该,并且如果可能的话你会想要避免它,因为构建的那些部分变得不确定。)

要减少POM的大小,可以使用继承。您可以为使用包含所有常见内容的公共父级的每台计算机创建单独的POM。但要小心,继承会影响配置文件的激活方式。使用Help插件查看“有效POM”(和/或有效设置)以解决此问题。