Java环境变量配置

一.Java的安装

1.下载合适的版本,安装jdk和jre到同一路径下的同一文件夹下,例如:都安装在 E:\Java

这里写图片描述

备注:  JDK:Java Development Kit ;  JRE: Java Runtime Environment

    如果你需要运行java程序,只需安装JRE就可以了。 如果你需要编写java程序,需要安装JDK,JDK中包含有JRE。 

jdk本身就等于jre+开发工具,直接可以用jdk代用jre 

以前的jdk安装一套外置jre,是为了让jdk版本稳定而保持外置jre可以独立更新 

11版以后,需要另外单独下载jre。然而现在jre11并没有发布,下载不到。java对最终用户的jre都推荐默认安装jre8,连jre9 jre10都没有推荐。 

新安装的jdk11,竟然发现jdk里没有自动安装jre,

运行程序有时候果然不能运行,网上找了一大堆,捣鼓了好长时间,终于找到了一种可行的方案。
解决如下:
以管理员的身份打开命令提示符cd到%JAVA_HOME%(用户安装路径)
然后运行命令bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
然后将自动生成了jre。

 

二.环境变量的配置

1. 三种进入环境变量编辑的方式

 1) 计算机→属性→高级系统设置→高级→环境变量;

2)在控制面板右上角搜索env,然后点击 编辑账户的环境变量

 

3)点击桌面右下角的开始 → 用户账户 →更改我的环境变量

 

2. 环境变量的配置(JAVA_HOME,Path,CLASSPATH)

理论上java安装后一个变量都不需要配置,只不过为了命令行敲起来方便和方便以后开发的java小工具,一般都会设置java_home,然后把$Java_home/bin追加到path中。

不要被旧书误导咯,官方说jdk1.5以后就不用配置也不建议配置classpath了。不过有时候为了兼容低版本和其他系统如在linux 中运行ant,就必须配置dt.jar和toolr.jar,要不无法运行。

所以一般是不需要再配classpath了(为了兼容还是配置上吧,有时候出现创建虚拟机失败等各种莫名其妙的问题,待研究到底是什么问题导致的)。

1)JAVA_HOME :变量值为个人 jdk的安装目录;(例如:E:\java\jdk1.8.0_31)

2)Path :找到系统变量里的path,如果没有就新建,在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 

备注:如果原来的path有值则在值最后需要有分号,然后再添加值;

3)CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

备注:注意最前面有点 classpath的作用是告诉Java 编辑器在哪里寻找Java编译过程中需要的包和类(.class文件),所以其路径中配置的是lib和lib 下的tools.jar

 

从jdk-9之后就已经没有tools.jar和dt.jar了,也不需要在classpath里面配置这些jar了,配置可参考:
JAVA_HOME=jdk安装路径
JRE_HOME=jre安装路径
PATH= ;%JAVA_HOME%\bin;%JRE_HOME%\bin
CLASSPATH=.;%JAVA_HOME%\lib;%JRE_HOME%\lib

 

 更新后,版本带来的变化,模块化后导致不需要或者说将toos.jar和dt.jar文件兼容到其他部分,jdk的lib下面不会再出现这俩文件;

    (摘:版本更新到9.0后的变化)JDK 9的核心变化就是引入了一种新的Java编程组件,也就是模块,按照Oracle的说法,它是一个可命名的、自描述的代码和数据集合。模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能、安全性和可维护性。

    为了支持Java 9的模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个module-info.class文件。Oracle同时提供了工具,允许我们组合和优化一组模块,形成自定义的运行时镜像(image),这样的镜像不必将整个Java运行时包含进来。模块化所带来的其他变化包括从Java运行时镜像中移除了rt.jar和tools.jar。

 

3.Java环境变量设置在用户变量和系统变量的区别

系统变量设定后,会对这台机器的所有用户生效 ;
用户变量设定只对当前用户有效;

一般没有特殊要求的情况下设置的都是系统变量。

 用户变量的优先级高于系统变量的,即如果同时配置了某个变量最终使用的是用户变量里的配置,

对于Path这个环境变量,你在命令行(cmd)下输入:echo %Path%

用户环境变量会接在系统环境变量后面。这里强调下,正常对于环境变量,系统会检查用户环境变量,之后再检查系统环境变量,如果有相同的变量名,并不会将两者的内容合并在一起。

三. 检测是否安装成功:

1 在 cmd 窗口中输入:java -version 可以查看java的版本信息 ; 
这里写图片描述 
2  编写一简单的类测试: 
例如在 E:\aa 下放了一个简单的 Bird.java 的测试类: 

public class Bird{
    public static void main (String[] args){
        System.out.print(1111);
    }
}

1)cd\ 回到根目录; 

2)E:进入到e盘目录; 
3)cd aa 进入到aa文件夹下; 
4)javac Bird.java 编译java文件; 
5)Java Bird 运行java class文件。 
这里写图片描述

扩展:java11支持源文件直接运行(666!) 

public class Test{
    public static void main (String[] args){
        System.out.println("Hello World!");
    }
    
}

 

注意没有生成  .class 文件

 

详见:

JAVA 8与JAVA 11到底该怎么选?

2018年8月25日 08:34:44

2019年6月21日 09:24:45

2020年4月17日 14:35:07

2020年9月1日 01:11:02

2020年12月18日 13:02:08

2021年10月29日 13:23:25

posted @ 2018-03-24 14:48  Rooker  阅读(592)  评论(0编辑  收藏  举报