详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用)
有时候需要看Java源码,但是 Java 1.7 和 Java 1.8的差别的关系,有时候你想查看不同jdk版本的Java源码。
或者你的项目需要测试不同Java jdk 版本的通用与否。那么这个编辑器支持多个版本的jdk同时存在,可以自由的切换
具体实现,看下图,一次配置,可以随便使用,省事 安心。
这是选择的是1.8版本的jdk
这是选择的是1.7的版本的jdk
一般像使用eclipse的时候,还得整个环境变量,但是我的这个1.7的时候,好像也没修改环境变量,我的那个测试用 的helloworld项目的Java照样跑起来啦。
不知道是不是这个配置可以无视环境变量的配置,也就是说,不用配置环境变量啦。
此事有待确定。
好像经过确定,还真的不用配置环境变量啦,因为如上图说是,你已经给编辑器指定过jdk在哪啦。
(更新于20170709)
用这张图来说明下,这个Java的环境变量可以不用配置。不知道这个依据是否有说服力呢?
要按某些同学说的那样的话,我在使用jdk 1.7的时候,我是不是得回来这,修改下环境变量,修改成对应1.7的位置之后,才可以使用jdk1.7.但是,事实上,我并不需要去修改这个环境变量,就可以直接使用,jdk1.7,虽然我的环境变量配置的是jdk1.8的,
这是因为当时我还没使用这个编辑器的时候,或者说我不知道这个编辑器可以配置多个版本的jdk的时候,安装jdk的同时,又去配置了下,环境变量。
不过,搞Java开发的同学们,拿来电脑的第一件事情,估计就是安装jdk啦,估计安装jdk的同时,肯定会配置环境变量啥的。
我这主要是说明:
这个编辑器,可以同时配置多个版本的jdk,便于不同jdk版本之间的切换。
就比如hashmap的源码实现,jdk1.7和jdk1.8就不一样,为了查看下jdk1.7的hashmap源码,我们总不至于,把jdk1.8卸载了,再安装1.7吧。
这就是方便之处。
(更新于20170720)
关于配置完之后,使用时候,一些同学可能不知道在哪设置。
记得上面选文件夹的时候,要选择的是jdk,而不是jre,这个要注意下。
然后就是简单的配置,如下2图。
一般这个编辑器需要配置jdk的几个地方
要是maven项目,多模块或者单模块的项目,下面这个地方也可能需要配置下jdk版本。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
JDK1.7 之java.nio.file.Files 读取文件仅需一行代码实现
JDK1.7中引入了新的文件操作类java.nio.file这个包,其中有个Files类它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件.开发者还可以使用Files.readAllBytes(Path)方法把整个文件读入内存,此方法返回一个字节数组,还可以把结果传递给String的构造器,以便创建字符串输出.此方法确保了当读入文件的所有字节内容时,无论是否出现IO异常或其它的未检查异常,资源都会关闭.这意味着在读文件到最后的块内容后,无需关闭文件.要注意
-
JDK1.7以上javaFTP上传删除文件的实现方法
实例如下: packagecom.itv.launcher.util; importjava.io.File; importjava.io.FileInputStream; importjava.io.FileNotFoundException; importjava.io.IOException; importjava.net.InetSocketAddress; importjava.util.Properties; importjava.util.StringTokenizer; impo
-
通过JDK源码角度分析Long类详解
概况 Java的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法或String类型到long类型的转换方法,当然也包含与其他类型之间的转换方法.除此之外还有一些位相关的操作. Java long数据类型 long数据类型是64位有符号的Java原始数据类型.当对整数的计算结果可能超出int数据类型的范围时使用. long数据类型范围是-9,223,372,036,854,775,808至9,223,372,036,85
-
CentOS 7下JDK8的详细安装步骤
本文为大家分享了CentOS 7下安装JDK8的详细步骤,供大家参考,具体内容如下 一.下载JDK 至oracle官网下载,如图所示 二.安装JDK 把rpm文件拷贝至/usr/java,如果没有java文件夹, mkdir /usr/java/ 使用npm -ivh jdk文件名安装,如图所示 三.配置环境变量 使用命令 vi /etc/profile,插入图中红色部分: 注意=两边不要有空格 使用:wq保存退出,然后输入source /etc/profile和java -version,如图
-
JDK反序列化时修改类的全限定性名解析
应用场景 SpringSecurityOAuth2有一个奇葩的设计,那就是它将与access_token相关的所有属于都封装到OAuth2AccessToken中,然后保存时会直接将该对象序列化成字节写入数据库.我们在资源服务器中想要直接读数据库来取出access_token来验证令牌的有效性,然而又不想引入SpringSecurity的相关依赖污染jar包.这时可以将SpringSecurity中OAuth2AccessToken的唯一实现类DefaultOAuth2AccessToken的源
-
JDK1.7 Paths,Files类实现文件夹的复制与删除的实例
实例如下所示: public static void copyFolder(String srcFolder, String destFolder) throws IOException { long startTime = System.currentTimeMillis(); final Path srcPath = Paths.get(srcFolder); // 这里多创建一级,就解决了没有外壳的问题 final Path destPath = Paths.get(destFolder,
-
如何为Spark Application指定不同的JDK版本详解
前言 随着企业内部业务系统越来越多,基于JVM的服务,通常情况线上环境可能会有多套JDK跑不同的服务.大家都知道基于高版本的Java规范编写的服务跑在低版本的JVM上会出现:java.lang.UnsupportedClassVersionError的异常. Spark 2.2开始移除了对Java 7的支持,大多数情况下,我们的Spark Application是和Hadoop系统公用的JDK,如果Hadoop依赖的JDK版本是7,那我们基于JDK 8编写的Application跑在上面就会出问
-
基于编译虚拟机jvm—openjdk的编译详解
java只所以被推广,实际上很大原因是因为本身是跨平台的,很大作用是因为虚拟机的关系. 一般情况下开发人员不需要关注虚拟机内部实现就可以日常开发了,但是有时候涉及到性能的时候就需要了解虚拟机的实现机制了. 那么今天写的内容更多的是关于编译一套自己的虚拟机,为日后了解虚拟机底层原理铺铺路. 编译虚拟机可能会遇到很多坑,也很花费时间.也因大家的环境的差异,可能遇到的问题都不一致. 我只能说把自己遇到的问题都列出来,权当抛砖引玉了. 1首先我们应该下载openjdk的源码,这个openjdk实际上是有
-
详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用)
有时候需要看Java源码,但是 Java 1.7 和 Java 1.8的差别的关系,有时候你想查看不同jdk版本的Java源码. 或者你的项目需要测试不同Java jdk 版本的通用与否.那么这个编辑器支持多个版本的jdk同时存在,可以自由的切换 具体实现,看下图,一次配置,可以随便使用,省事 安心. 这是选择的是1.8版本的jdk 这是选择的是1.7的版本的jdk 一般像使用eclipse的时候,还得整个环境变量,但是我的这个1.7的时候,好像也没修改环境变量,我的那个测试用 的hellowo
-
详解vue-cli脚手架中webpack配置方法
什么是webpack webpack是一个module bundler(模块打包工具),所谓的模块就是在平时的前端开发中,用到一些静态资源,如JavaScript.CSS.图片等文件,webpack就将这些静态资源文件称之为模块 webpack支持AMD和CommonJS,以及其他的一些模块系统,并且兼容多种JS书写规范,可以处理模块间的以来关系,所以具有更强大的JS模块化的功能,它能对静态资源进行统一的管理以及打包发布,在官网中用这张图片介绍: 它在很多地方都能替代Grunt和Gulp,因为它
-
详解Intellij IDEA中.properties文件中文显示乱码问题的解决
首先,你可能会见到如下提示: File encoding is disabled because .properties file (see Settings|Editor|File Encodings|Properties Files) 具体如下图.没截全图,太大了,只截取了提示部分. 在这之前,我一直以为,我已经设置了我这个编辑器下的所有文件的编码格式都是utf-8,直到我这次要读取properties文件的时候,才惊讶的发现,我的properties文件并不都是utf-8的文件编码格式.然
-
详解Spring Boot中使用Flyway来管理数据库版本
如果没有读过上面内容的读者,有兴趣的可以一阅.在上面的使用JdbcTemplate一文中,主要通过spring提供的JdbcTemplate实现对用户表的增删改查操作.在实现这个例子的时候,我们事先在MySQL中创建了用户表.创建表的过程我们在实际开发系统的时候会经常使用,但是一直有一个问题存在,由于一个系统的程序版本通过git得到了很好的版本控制,而数据库结构并没有,即使我们通过Git进行了语句的版本化,那么在各个环境的数据库中如何做好版本管理呢?下面我们就通过本文来学习一下在Spring B
-
详解IntelliJ IDEA中TortoiseSVN修改服务器地址的方法
公司的svn的地址改变了,怎么办呢.自己本地的正在修改的项目怎么办呢? 修改一下svn的服务器地址咯. 1.就是先关闭ide,重新打开,然后选择svn去设置新的路径.如下图: 2.然后打开原来的项目,选中项目之后,再按图如下操作. 上面的from就是现在的url,下面的to就是要改写成什么的目的URL. 然后OK. 然后就可以在下面的version control 里面刷新一下,那么原来的历史就可以出来了. 然后就完事了. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们
-
详解node.js中的npm和webpack配置方法
概述 Node.js用c++语言编写而成的,是一个基于chrome V8引擎的javascript运行环境,让javaScript的运行脱离浏览器服务端,可以使用javaScript语言书写服务器端代码 1.使用node来实现一个http服务器 下面创建了一个端口为8787的服务器.他与php,java等不同,像php本地还要基于阿帕奇服务器,node.js能用代码快速搭建一个服务器. // 引入http模块 var http = require("http"); // 调用http的
-
详解Django模版中加载静态文件配置方法
1.settings.INSTALLED_APPS下添加:django.contrib.staticfiles 2.settings.py下添加:STATIC_URL = '/static/' 3. (1)在APP下新建文件夹static,然后在这个static文件夹下创建一个当前APP的名字的文件夹,再把静态文件放到这个文件夹下:(类似于Templates配置) 在模板中这样调用: {% load static %} <img src="{% static 'front/logo.jpg
-
详解Go语言中配置文件使用与日志配置
目录 项目结构调整 配置文件使用 日志配置 小结 接着上一篇的文章构建的项目:Go语学习笔记 - 环境安装.接口测试 只是简单的把GET和POST接口的使用测试了一下. 我还是想按照正常的项目结构调整一下,这篇笔记主要是三个部分:调整项目目录结构.增加配置文件使用.增加日志配置,很常规而且也是每个项目都需要用到的. 项目地址:github地址 项目结构调整 说先对项目目录结构调整一下,按照我自己的开发习惯,增加了几个目录. 项目结构如下图: 解释一下目录结构 app/constants:主要放置
-
详解Intellij IDEA的Facets和Artifacts
Facets: Facets表述了在Module中使用的各种各样的框架.技术和语言.这些Facets让Intellij IDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致. 使用Facets能让我们下载并配置framework所必须的组件,会自动生成各种各样的描述符,并存储在适当的位置,等等. 大多数Facets可以无冲突得添加到Module中. 也有一些Facets是继承其他Facets的,这些Facets的添加就必须先添加他们的父Facets,这些Facets也要依赖In
-
详解React 16 中的异常处理
详解React 16 中的异常处理 异常处理 在 React 15.x 及之前的版本中,组件内的异常有可能会影响到 React 的内部状态,进而导致下一轮渲染时出现未知错误.这些组件内的异常往往也是由应用代码本身抛出,在之前版本的 React 更多的是交托给了开发者处理,而没有提供较好地组件内优雅处理这些异常的方式.在 React 16.x 版本中,引入了所谓 Error Boundary 的概念,从而保证了发生在 UI 层的错误不会连锁导致整个应用程序崩溃:未被任何异常边界捕获的异常可能会导致
随机推荐
- Angular X中使用ngrx的方法详解(附源码)
- JavaScript入门之对象与JSON详解
- 详解Java实现多线程的三种方式
- PHP中unset,array_splice删除数组中元素的区别
- JavaScript常用标签和方法总结
- 浅谈js的ajax的异步和同步请求的问题
- 微信小程序封装http访问网络库实例代码
- ruby中执行周期性任务(定时任务)的3种方法
- iframe异步加载实现点击左边菜单加载右边内容实例讲解
- JS+CSS实现简单的二级下拉导航菜单效果
- Android EditText实现关键词批量搜索示例
- C#在运行时动态创建类型的实现方法
- Java并发编程Callable与Future的应用实例代码
- Flutter中获取屏幕及Widget的宽高示例代码
- Python数据类型之String字符串实例详解
- Django在admin后台集成TinyMCE富文本编辑器的例子
- iOS使用pageViewController实现多视图滑动切换
- Java使用开源Rxtx实现串口通讯
- 使用python切片实现二维数组复制示例
- 原生JavaScript实现滑动拖动验证的示例代码