Maven配置文件并安装

bra*_*ter 2 profile maven-2 build

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

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

Rag*_*ram 9

好吧,您可以使用该classifier属性,以便每个配置文件创建一个带分类器的jar,即每个环境的唯一jar.这是一个代码片段来说明这一点.当使用devprofile(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>
Run Code Online (Sandbox Code Playgroud)