Maven:在一个构建中为不同的模块使用不同的全局配置文件

时间:2017-01-26 14:06:35

标签: java maven

我正在尝试构建一个多模块POM项目。

在我的settings.xml中,我保留了许多配置文件,其中包含连接各种服务器的详细信息。这由模块的持久性单元使用。

我需要的是在同一个版本中使用两个不同的配置文件(一个用于一个模块,另一个用于其余模块)。不要一次构建所有配置文件,因为SO上的其他一些问题要求。

我最好的情况是能够将一个配置文件设置为默认配置,我现在拥有的配置文件,只需将另一个配置文件分配给需要它的一个模块,而无需在其他地方再次定义配置文件。

重要的是,我已经设法通过在终端上使用具有不同配置文件的mvn来获得我需要的功能但我希望能够通过pom执行此操作,以便我可以在Netbeans和Jenkins中构建整个内容。

这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

最初我认为可能是这样的事情。

在settings.xml配置文件中

    <activation>
    <property>
      <name>activator.one</name>
      <value>true</value>
    </property>
    </activation>

在模块的pom.xml中

    <properties>
       <activator.one>true</activator.one>
    </properties>

这可能只有在属性设置为true时才会使用激活器激活配置文件。那只是在某个模块的pom中。

http://maven.40175.n5.nabble.com/Activating-a-profile-in-settings-xml-based-on-a-property-set-in-pom-xml-td512562.html

在构建期间无法激活配置文件!

因此

在模块中命名配置文件的不同之处是不是更好,因此名称完全不同。并激活它们。 与connections_mysqldb_module_a,connections_hsqldb_module_b一样 您将拥有大量的配置文件,但如果您确保模块之间的名称不重叠,您可以始终在每个模块的基础上进行选择,并且仍然可以立即构建所有内容。