在Java开发是我们大多都使用集成开发环境,像idea和eclipse用的都比较多,在使用idea maven构建项目时,在修改pom.xml文件时,我们的项目jdk版本都会回退,还得每次去设置中修改jdk版本,如下:

settings设置jdk版本:

project structure设置jdk版本:

经过上述两个地方设置完成后项目正常,但是当我们在pom中添加jar依赖包时,或修改pom文件后,maven都会重新构建项目,这样我们原来设置的jdk版本会被重置,项目中因为jdk版本过低会报错,可能我们再按上面设置一下又会好了,但是如果我们项目比较多,或者频繁改动pom文件,那么我们会改到肌无力,这么频繁的修改jdk,是我们码农无法忍受的,我们做开发的目的就是节省人力成本,有没有一劳永逸的方法呢,答案是肯定的,我在这里介绍两种方式:一种是针对项目设置的;一种是针对maven全局设置的;要使用哪种方式大家按自己喜好来选择:

1.针对项目的设置:

需要我们再项目的pom.xml中配置一个pulgin:

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

配置完成后,无论我们怎么修改项目,其依赖度的jdk版本都不会变化,这种方式的好处是:我们的项目往往是可能使用不用的jdk版本,若是我们无法统一各项目的jdk版本,这种方式比较适合;另一个往往我们的项目是多人协同开发的,在项目里设置,其他人pull下代码,无需设置jdk

2.针对maven全局设置

    <profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

这种方式设置,我们本地无论哪个项目都是使用maven中配置jdk版本,这样所有项目中都不需要配置jdk版本,但是这种方式,最好是各个项目jdk版本是一致的,如果有不同jdk版本的项目可以单独在项目中按第一种方式设置;另一个就是如果我们协同开发,其他人也必须在自己本地配置maven

上述两种方式各有利弊,也可配合使用

最新文章

  1. Canvas绘图中的路径描边与填充
  2. java 字符串类型String
  3. SlickGrid example 5:带子项的展开收缩
  4. Ubuntu工具:vi编辑器
  5. CoreData (表结构变化处理)
  6. thinkphp,javascript跨域请求解决方案
  7. mac定时任务
  8. Windows窗口的尺寸和位置
  9. Android Service组件在新进程绑定(bindService)过程
  10. 201621123040《Java程序设计》第七周学习总结
  11. pip3更新后install package出现ImportError: cannot import name &#39;main&#39;
  12. POJ滑雪
  13. mongodb系列~mongodb定时删除数据
  14. QT+VS2013 1配置和安装
  15. odoo 订餐系统之消息提醒
  16. Class_third_实验报告
  17. Delphi实例分析:远程传输数据和文件
  18. 图解在VC里使用graphics.h画图(相似TC)
  19. 修練營ASP.NET]淺談多層式架構 (Multi Tiers)
  20. 快速SQL调优/优化(SQL TUNING)——1分钟搞定超慢SQL

热门文章

  1. 使用Jmeter对观影券查询接口做性能测试
  2. 快速理解arguments对象
  3. SRS之SrsServer::cycle()
  4. Python 中的 getopt 模块
  5. JS遍历OCX方法
  6. C#卸载加载到进程里的dll
  7. GitHub-Microsoft:DotNet
  8. Oracle 变量 之 define variable declare 用法及区别
  9. kvm虚拟机操作相关命令及虚拟机和镜像密码修改
  10. layui 数据表格复选框实现单选功能