对一个不同的项目使用一个pom.xml

时间:2011-05-19 04:09:35

标签: java maven

我使用maven构建基于java的程序。工作正常。但现在我遇到了一个问题,要求我为其他用户构建一个基于相同源代码的修订版本(例如,不同的软件名称和不同的资源文件)。

有没有人知道怎么做?

3 个答案:

答案 0 :(得分:6)

您需要使用个人资料。在这样的答案中解释起来有点复杂,但实质上,您将在POM中为您想要做的不同构建创建不同的配置文件。您将在构建时选择配置文件,例如使用mvn命令行中的变量定义,并在配置文件中更改您需要更改的任何变量或设置。有更多信息可供here

答案 1 :(得分:0)

根据项目的类型,最“maven”的方法是将项目拆分为具有多个子项的父项。您的主项目放在一个模块中,每个用户特定的配置都进入一个不同的模块,然后可以依赖于公共代码。

每个用户特定模块都可以拥有自己的资源和独特的配置,这将使生成不同的命名配置变得更容易。它还可以使任何用户特定的编码调整更容易。

答案 2 :(得分:0)

您可以在POM中为要执行的不同构建创建不同的配置文件。

以下是POM.xml的一些示例部分

<!-- Define profiles here and make DEV as default profile -->
<profiles>

    <!-- dev Profile -->
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>

    <!-- qa Profile -->
    <profile>
        <id>qa</id>
        <properties>
            <env>qa</env>
        </properties>
    </profile>

    <!-- prod Profile -->
    <profile>
        <id>prod</id>
        <properties>
            <env>prod</env>
        </properties>
    </profile>

</profiles>
...


<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.4.3</version>

    <executions>
        <execution>