为 Maven Dev 和 Prod 设置不同的构建



我正在从蚂蚁迁移到maven。我需要为 dev 和 prod 制作特定于环境的构建,我已经看到许多与此相关的问题,但就我而言,我有一些 java 文件只会进入 prod。如何使用这些 java fils 来分离构建。

我的项目结构如下所示

parent
project A
| src 
| pom
 project B
| src 
| pom   
project C
| src 
| pom
project D
 | src 
 | pom  
Parent-POM

仅在生产中使用的Java文件是密码实用程序文件。

如果您有任何困惑,请告诉我。提前谢谢。

我同意@khmarbaise,但是一种肮脏的方法可能是将库名称定义为属性并使用 2 个不同的配置文件来决定使用库。

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>${my.library}</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
</dependencies>
<properties>
    <slf4j.version>1.7.25</slf4j.version>
</properties>
<profiles>
    <profile>
        <id>prod</id>
        <properties>
            <my.library>slf4j-jdk14</my.library>
        </properties>
    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <my.library>slf4j-log4j12</my.library>
        </properties>
    </profile>
</profiles>
mvn -P dev  dependency:tree
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ test ---
[INFO] test:test:jar:1.0-SNAPSHOT
[INFO] +- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] - org.slf4j:slf4j-log4j12:jar:1.7.25:compile
[INFO]    - log4j:log4j:jar:1.2.17:compile
[

mvn -P prod dependency:tree
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ test ---
[INFO] test:test:jar:1.0-SNAPSHOT
[INFO] +- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] - org.slf4j:slf4j-jdk14:jar:1.7.25:compile
[

相关内容

  • 没有找到相关文章

最新更新