Maven工程pom中如何定义jdk版本
作者:我是蚁人
这篇文章主要介绍了Maven工程pom中如何定义jdk版本,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Maven工程pom定义jdk版本
今天把之前做的项目导进eclipse,然后发现报错,一些类在1.6中不支持,需要将JDK版本设置为1.7,我直接通过eclipse中的提示进行更改,然后update project一下,发现又回到了SE1.6版本,我想一定是在pom中定义了这个java版本,查看pom文件,发现编译插件定义的1.6版本,代码:
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin>
所以将编译版本更改为1.7之后就好了,
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin>
注意:这里说的是通过工程的编译插件
另外,在一般的工程中定义当前项目所用的jdk版本
<properties> <...> ...<...> <java.version>1.8</java.version> <...> ...<...> </properties>
这个properties属性配置一般配置在<parent>标签之后,如果引用了自己公司的框架,应该在框架内就有定义版本,则不需引入,总之,按需要进行设置。设置之后可以在编译插件中引入即可:
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin>
配置pom的jdk注意事项
<!-- 添加修改jdk插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin>
这个代码或许你会说很简单,如果配置完出现红叉就很尴尬了,eclipse为每个项目都配置了一套自己的运行版本,就是图下
新建maven项目好像默认是jre1.5的,然后老版本的运行环境跟不上我们开发的脚步,配置成1.7之后必须得到Project Facets里把对于的java版本换成1.7,
否则会出现版本不匹配错误,就是Java compiler level does not match the version之类的错误,切记切记
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。