Maven 2 Maven配置文件和安装

Maven 2 Maven配置文件和安装,maven-2,build,profile,Maven 2,Build,Profile,如果我为一个应用程序设置了Maven版本,并为不同的环境设置了配置文件(比如prod vs.dev,定义不同的DB设置等等),那么“安装”目标似乎没有意义,因为我不知道是哪个环境安装到了我的repo中——我只有com.example.myproject:myapp:0.0.1 我是否误解了什么,或者配置文件应该与其他目标一起使用?您运行常用的mvn命令,并可以使用-p选择适当的配置文件,因此它取决于您选择的配置文件,以及存储库中安装的配置文件。,您可以使用分类器属性,这样每个概要文件都会使用分类

如果我为一个应用程序设置了Maven版本,并为不同的环境设置了配置文件(比如prod vs.dev,定义不同的DB设置等等),那么“安装”目标似乎没有意义,因为我不知道是哪个环境安装到了我的repo中——我只有com.example.myproject:myapp:0.0.1


我是否误解了什么,或者配置文件应该与其他目标一起使用?

您运行常用的mvn命令,并可以使用-p选择适当的配置文件,因此它取决于您选择的配置文件,以及存储库中安装的配置文件。

,您可以使用
分类器
属性,这样每个概要文件都会使用分类器创建一个jar,即每个环境都有一个唯一的jar。下面是一个代码片段来说明这一点。当使用
dev
配置文件(
mvn-pdev 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>

...
...
...
org.apache.maven.plugins
maven jar插件
${env}
...
发展
发展
...

是的,这就是问题所在——就客户而言,有一个版本具有无形的定制功能。通过查看更多文档,可以发现“分类器”属性。。。调查一下。。。