博客
关于我
【Java环境变量的配置问题】
阅读量:426 次
发布时间:2019-03-06

本文共 1307 字,大约阅读时间需要 4 分钟。

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

java的跨平台性依赖于Java虚拟机:jvm(),而jre(,中文名称作Java运行时环境)则包括了jvm以及java程序所需的核心类库等。JDK(,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%\jre\bin;即可,这样即使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,看看是否是以;结尾。

 

转载地址:http://hwcyz.baihongyu.com/

你可能感兴趣的文章
MR单元测试以及DeBug调试
查看>>
不想eject,还咋修改create-react-app的配置?
查看>>
实现延迟消息队列
查看>>
写了一下 micropython 的文件系统单元测试
查看>>
说说字库和字模的故事,然后在 MaixPy 里实现打印中文字体(任意字体)吧!
查看>>
linux kernel version magic 不一致导致的模块 加载 (insmod) 不上
查看>>
java中自定义注解的应用
查看>>
线性代数应该这样学9:上三角矩阵、对角矩阵
查看>>
【科学计算】插值理论
查看>>
centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
查看>>
Java 读取Excel百分数保留原格式(即不转换为小数)的方法
查看>>
深度学习一:深度前馈网络和反向传播
查看>>
Linux多cuda版本切换
查看>>
在wxPython使ListCtrl占据整个窗口
查看>>
微软面试题
查看>>
Google新玩法(转载)
查看>>
C#中Dispose和Close的区别!
查看>>
绝密:Google 秘密测试新版首页, 将闪聊嵌入搜索框下方!!
查看>>
如何让服务在流量暴增的情况下保持稳定输出
查看>>
一个20年技术老兵的 2020 年度技术总结
查看>>