Maven配置文件并安装

时间:2011-01-11 11:09:31

标签: maven-2 build profile

如果我为具有针对不同环境设置的配置文件的应用程序设置了Maven构建(比如prod vs. dev,定义不同的数据库设置和类似的东西),那么“安装”目标似乎没有意义,因为我不知道哪个环境安装到我的仓库中 - 我刚刚得到了com.example.myproject:myapp:0.0.1。

我是否误解了某些内容,或者是否应将其用于其他目标?

2 个答案:

答案 0 :(得分:9)

好吧,您可以使用classifier属性,以便每个配置文件创建一个带分类器的jar,即每个环境的唯一jar。这是一个代码片段来说明这一点。使用dev个人资料(mvn -P dev install)运行时,会创建一个包含-dev分类器的jar,例如myapp-dev-0.0.1.jar

<project>
...
    <properties>
        <env></env>
    </properties>
...

    <build>
        <plugins>
            ...
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <classifier>${env}</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <profiles>
        ...
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            ...
        </profile>
    </profiles>

</project>

答案 1 :(得分:0)

您运行常用的mvn命令并可以使用-P http://maven.apache.org/guides/introduction/introduction-to-profiles.html选择适当的配置文件因此它取决于您选择的配置文件,安装在存储库中的内容。