当前位置: 首页 > news >正文

为什么Maven会更改Eclipse JDK设置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、问题描述 

            在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.6, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.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版本。 

三、解决方案

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

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
</build>

四、参考资料

          http://maven.apache.org/plugins/maven-compiler-plugin/index.html

          Maven Change default source level to 1.5 这个Jira.




转载于:https://my.oschina.net/jackieyeah/blog/223792

相关文章:

  • C51中的INTRINS.H:内部函数
  • S3C2440与NAND FLASH(K9F1208)的接线分析
  • linux 6.2 部署nginx的过程
  • 成为Java高手需要达到的25个学习目标
  • 字符编码相关的知识
  • 远程读取XML根级别上的数据无效。 行 1,位置 1
  • 将DATAtable转换成 json格式
  • PHP之session相关实例教程与经典代码
  • HDU 3065 病毒侵袭持续中 (AC自动机)
  • HDU 1850 Being a Good Boy in Spring Festival (Nim博弈)
  • 20非常有用的Java程序片段(6-10)
  • BizTalk RosettaNet解决方案之Loopback
  • YAFFS2文件系统分析(转)
  • 如何设置Linux操作系统shell命令的默认语言
  • 基于HTML5的燃气3D培训仿真系统
  • 【EOS】Cleos基础
  • 2019年如何成为全栈工程师?
  • 4个实用的微服务测试策略
  • CentOS6 编译安装 redis-3.2.3
  • centos安装java运行环境jdk+tomcat
  • gulp 教程
  • Java程序员幽默爆笑锦集
  • JS学习笔记——闭包
  • Sass 快速入门教程
  • Zepto.js源码学习之二
  • 安装python包到指定虚拟环境
  • 初探 Vue 生命周期和钩子函数
  • 缓存与缓冲
  • 前端工程化(Gulp、Webpack)-webpack
  • 人脸识别最新开发经验demo
  • 详解NodeJs流之一
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 走向全栈之MongoDB的使用
  • HanLP分词命名实体提取详解
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 如何用纯 CSS 创作一个货车 loader
  • #Z0458. 树的中心2
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (day 12)JavaScript学习笔记(数组3)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (独孤九剑)--文件系统
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (力扣)循环队列的实现与详解(C语言)
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)树状数组
  • (轉)JSON.stringify 语法实例讲解
  • .NET 8.0 发布到 IIS
  • .NET delegate 委托 、 Event 事件,接口回调
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C++]打开新世界的大门之C++入门
  • [DAX] MAX函数 | MAXX函数
  • [ffmpeg] aac 音频编码