Rue*_*oel 3 java maven-plugin maven maven-profiles
我知道有一些相关的主题,但我仍然不明白如何去做。
我正在学习 maven,目前正在创建构建配置文件。我想让 maven 自动检测我机器上当前安装的 java 版本。假设我在使用(jdk7)或 home 的办公室工作(jdk8),我希望pom.xml 中的<source>and<target>元素maven-compiler-plugin自动检测java -version环境(办公室/家庭)。我读过,activation但不能完全理解目的。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
嗨,我不认为您可以自动让您的构建和环境感知,仅使用默认值,您需要一些配置文件的帮助及其激活功能,请参见此处。您可以做的是引入 2 个不同的配置文件,在每个配置文件中您可以定义您想要的 JDK,如果存在,它将为您激活,然后您可以使用不同的源/目标配置编译器插件,或者只设置不同的值对于将指示 java 版本的属性。例子:
<profiles>
<profile>
<id>java8</id>
<activation>
<jdk>1.8</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java7</id>
<activation>
<jdk>1.7</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
希望有帮助:)
对于 Java 9,可以使用以下配置文件。
<profiles>
<profile>
<id>java8</id>
<activation>
<jdk>1.8</jdk>
</activation>
(...)
</profile>
<profile>
<id>java9</id>
<activation>
<jdk>9</jdk>
</activation>
(...)
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4887 次 |
| 最近记录: |