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之类的错误,切记切记
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。