jenkins jdk版本问题报错
maven3.2版本以后,运行maven必须使用JDK1.6以上的版本。maven3.0/maven3.1可以运行在JDK1.5版本上。在做平台定制项目时,使用客户的开发环境:JDK1.6,MAVEN3.2.2,此时如果编译平台组件可能会有问题。例如:PTP项目必须使用JDK1.5版本编译,因为1.6版本相比很多接口类增加了接口,在切换到JDK1.6后很多类将会无法编译通过。解决方法:使用mave
maven3.2版本以后,运行maven必须使用JDK1.6以上的版本。maven3.0/maven3.1可以运行在JDK1.5版本上。
在做平台定制项目时,使用客户的开发环境:JDK1.6,MAVEN3.2.2,此时如果编译平台组件可能会有问题。例如:
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编译举例:
在pom-java.xml中编辑如下:
…… <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工具存放路径。
我们需要配置toolchains.xml供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>
示例toolchains.xml中配置了2个jdk,在maven执行编译时,会根据type,version,vendor自动匹配,找到需要使用的工具路径。
toolchains.xml放在${用户目录}/.m2下,maven运行时自动加载。也可以通过命令行传递参数方式指定toolchains.xml文件路径。
命令行使用方式:mvn后传递-t参数,参数后跟toolchains.xml完整路径,例如:
mvn -X -t e:\maven\CSVW1\build\.m2\toolchains.xml clean install
更多推荐
所有评论(0)