我正在从蚂蚁迁移到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
[