我知道有一些相关的主题,但我仍然不明白该怎么做。
我正在学习 Maven,目前正在创建构建配置文件。我希望 Maven 自动检测我的机器上当前安装的 java 版本。假设我在我们的办公室工作,使用(jdk7)或家(jdk8)
, 我想要<source>
and <target>
中的元素maven-compiler-plugin
pom.xml 自动检测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>
嗨,我不认为你可以让你的构建,环境自动感知,只使用默认值,你需要配置文件的一些帮助及其激活功能,请参阅here http://maven.apache.org/guides/introduction/introduction-to-profiles.html。你可以做的是引入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>
希望有帮助:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)