解决maven项目在update maven之后jre被改成1.5的问题
2016-09-07 14:29:08  By: dwtedx

一、maven update jdk变回1.5

在Eclipse中新建了一个Maven工程、然后更改JDK版本为1.7或者以上、结果每次使用Maven > Update project的时候JDK版本都恢复成1.5、很是奇怪、然后写的@Override就会报错


二、jdk1.5原因分析

后来查了一下原因、Maven官方文档有如下描述:

译器插件用来编译项目的源文件从3.0版本开始、用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java 1.6)、如果你想强制性的让插件使用javac、你必须配置插件选项 forceJavacCompilerUse


同时需要注意的是目前source选项和target 选项的默认设置都是1.5、与运行Maven时的JDK版本无关、如果你想要改变这些默认设置、可以参考 Setting the -source and -target of the Java Compiler中的描述来设置 source 和target 选项


这是Maven已知的一个特性。除非在你的POM文件中显示的指定一个版本,否则会使用编译器默认的source/target版本1.5、主要还是在于Eclipse中Maven的集成方式起到了关键作用、它会从POM文件中生成项目的.project,.classpath以及.settings、因此除非POM文件指定了正确的JDK版本、否则你每次更新项目配置的时候它都会重置到1.5版本


三、jdk1.7解决方案

在pom.xml文件中增加如下配置

</project>
    <build>
        <finalName>income</finalName>
        <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>
</project>

有了如上配置、在每次更新之后项目的java版本就会是java 1.7了、所有的误报错也就随之消失了

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+