jenkinsjdk版本问题报错
maven3.2版本以后,运⾏maven必须使⽤JDK1.6以上的版本。maven3.0/maven3.1可以运⾏在JDK1.5版本上。
在做平台定制项⽬时,使⽤客户的开发环境:JDK1.6,MAVEN3.2.2,此时如果编译平台组件可能会有问题。例如:jdk怎么使用
PTP项⽬必须使⽤JDK1.5版本编译,因为1.6版本相⽐很多接⼝类增加了接⼝,在切换到JDK1.6后很多类将会⽆法编译通过。
解决⽅法:
使⽤maven提供的插件:maven-toolchains-plugin
maven-toolchains-plugin
The Maven Toolchains provide a way for plugins to discover what JDK (or other tools) are to be used during the build, without the need to configure them. With toolchains, a project can now be built using a specific version of JDK independent from the one Maven is running with.
maven-toolchains-plugin⽀持在2.09版本以上的maven环境使⽤。
使⽤⽅式,以ptp编译举例:
在l中编辑如下:
……
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.5</version>
<vendor>sun</vendor>
</jdk>
</toolchains>
</configuration>
</plugin>
<plugins>
……
maven-toolchains-plugin在这⾥指定使⽤的是sun提供的jdk1.5版本。在pom⾥⾯指定使⽤的jdk类型,还需要为maven增加⼀个配置⽂件,告诉maven该jdk⼯具存放路径。
我们需要配置l供maven读取,例如:
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<version>1.5</version>
<vendor>sun</vendor>
<id>default</id>
</provides>
<configuration>
<jdkHome>D:/JDK1.5.22</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<version>1.6</version>
<vendor>sun</vendor>
<id>ide</id>
</provides>
<configuration>
<jdkHome>D:/jdk1.6.0_45-b06</jdkHome>
</configuration>
</toolchain>
</toolchains>
⽰例l中配置了2个jdk,在maven执⾏编译时,会根据type,version,vendor⾃动匹配,到需要使⽤的⼯具路径。
命令⾏使⽤⽅式:mvn后传递-t参数,参数后跟l完整路径,例如:
mvn -X -t e:\maven\CSVW1\build\.l clean install
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论