【Java环境变量的配置问题】

首先是JVM、JRE、JDK三者之间的关系:

java的跨平台性依赖于Java虚拟机:jvm(Java Virtual Machine),而jre(Java Runtime Environment,中文名称作Java运行时环境)则包括了jvm以及java程序所需的核心类库等。JDK(Java Development 'sKit,Java开发工具包)是给java开发人员使用的,其中包含了java的开发工具(javac、Java、javadoc等),也包括了jre,所以安装了JDK,就不用再单独安装jre了。

简单来说:使用JDK开发出Java程序,然后使用jre运行。

环境变量的配置以及排错:

最简单的方法就是直接在Path环境变量中添加jre的bin路径。这是一劳永逸的方法,但是会有潜在的风险,比如每次升级JDK,都需要修改环境变量,这样就需要修改path中的内容,由于path环境变量中包含着系统中的其他重要的软件路径信息,如果由于误操作而删除、修改了path的一部分信息或者全部信息,则就得不偿失了。

解决方法就是新建系统环境变量:JAVA_HOME,里面包含着jre之前的路径信息,在path环境变量中只需要加入%JAVA_HOME%jrein;即可,这样即使JDK升级,也只需要修改JAVA_HOME变量,而不需要修改path。%在这里只是系统默认的分隔符而已,表示引用了名为JAVA_HOME环境变量的路径。

使用set命令修改、删除、查看环境变量。

在dos命令窗口下键入set回车即可看到当前系统的全部环境变量。

使用set命令并不能影响实际环境变量的值,只是在当前dos窗口关闭之前有效。

查看Path环境变量的值:set Path

添加环境变量:set Path=新的环境变量;%Path%

清空Path环境变量:set Path=

使用set命令的好处就是当想要在别人的机器上开发Java程序时,可以将U盘的jre的路径添加到临时环境变量中去,dos窗口一旦关闭就会回复原样。

classpath换环境变量的设置:


假设C盘有C:/myclasses,而当前目录是D:/myclasses,我们如果想要运行C:/myclasses中的文件,则需要切换文件夹,这样很麻烦,我们通常设定classpath路径解决这个问题:set classpath=c:/myclasses,这样即使在D盘下我们也可以运行c:/myclasses中的文件(.class)。但是这样做会导致一个问题:当前路径下的文件不能运行了,提示无法找到文件(如果C:/myclasses下也没有同名文件),如果我们设置成set myclasspath=c:/myclasses;就可以了。原因就是前者强制指定类的文件件,找不到了就报错,而不考虑当前文件夹中有没有。很多人会想用后者,但这是不对的,因为我们设置了类的文件夹,明明没有这个文件但却出了运行结果,这样会导致郁闷非常。如果非得运行当前文件夹中的文件,使用set path=.;c:/myclasses,其中.代表当前文件夹以及子目录。

如果提示找不到类名等错误,最优先考虑两方面问题:

1.文件名和主类名是否相同(public)

2.查看set classpath,看看是否是以;结尾。

原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/4000926.html