博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解读Java环境变量配置
阅读量:7051 次
发布时间:2019-06-28

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

1、查看当前可用的所有环境变量(=系统变量+用户变量)

  set

  查看某个环境变量,如PATH

  set PATH

  添加环境变量,如xxx=aa

  set xxx=aa

  将环境变量(如xxx)的值置为空

  set xxx=

  在某个环境变量(如PATH)后添加新的值(如d:xxx)

  set PATH=%PATH%;d:xxx

  [注]:以命令行方式对环境变量的操作只对当前窗口的应用有效!

  2、Windows下JAVA用到的环境变量主要有3个:JAVA_HOME、CLASSPATH、PATH。

  1)JAVA_HOME指向的是JDK的安装路径,如x: j2sdk1.4.2,在这路径下你应该能够找到bin、lib等目录。设置方法:JAVA_HOME=c: j2sdk1.4.2

  2)PATH变量的作用

  java程序在运行时首先在path变量所定义的路径去找java.exe,并以最先找到的为准,如果安装完j2sdk后不加设置,一般是C:WINDOWSsystem32目录。

  j2sdk1.4(还有其它java开发工具如jbuilder8)在安装后会将java.exe拷贝到C:WINDOWSsystem32目录下,当执行java.exe时,需要装载这个SDK下的一些文件。

  如j2sdk1.4在安装完成后,C:WINDOWSsystem32下的java.exe在运行时会在C:Program Filejava目录下装载必需的一些文件。但安装j2sdk后一般会在PATH变量的最前面设置C: j2sdk1.4.2 bin。

  当先安装j2sdk1.4.2,后安装jbuilder8等开发工具时,由于jbuilder8的java.exe在拷贝到C:WINDOWSsystem32时可能覆盖了j2sdk1.4.2的java.exe,那么这时在运行的java.exe会到jbuilder8所在的目录去装载必需的一些文件。

  3)CLASSPATH环境变量的作用

  告诉类装载器到哪里去寻找第三方提供的类和用户定义的类。也可用使用JVM命令行参数-classpath分别为应用程序指定类路径,在-classpath中指定的类路径覆盖CLASSPATH环境变量中指定的值。

  3、当机器内装有多个SDK版本时,如何查看所用的是哪个SDK?

  java -verbose

  在出现的屏幕信息中可以看出系统装载的是哪个目录下的文件。

  4、Windows OS下设置PATH的方法

  〔系统〕->〔环境〕-> 〔高级〕,在PATH变量的文本框中的最前面输入C: j2sdk1.4.2bin

  或在命令行窗口中执行 set path=c:j2sdk1.4.2bin;%path%; 这样在命令行窗口的任一路径下都可以执行java.exe程序了。或设置PATH=%JAVA_HOME%bin;%PATH%

  5、对于CLASSPATH环境变量的设置方法要加倍小心,是因为以后你出现的莫名其妙80%以上的怪问题都可能是由于CLASSPATH设置不对引起的

  CLASSPATH=.;%JAVA_HOME%libtools.jar

  首先要注意的是最前面的".;",——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件。

  【Troubleshooting】

  编译会出现以下情况,看你是否真得都理解环境变量的设置,并能解决它。

  [T1] error:java不是一个可运行的程序? 由于没有设置环境变量path

  [T2] error:不能打开某个目录? 可能是忽视了path环境变量中的目录的设置顺序。

  [T3] Exception on thread “main” java.lang.DoClassDefFoundError:Test?没有设置classpath的路径。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:

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

你可能感兴趣的文章
JavaScript 异步、栈、事件循环、任务队列
查看>>
图解 React Virtual DOM
查看>>
Spring Boot [组件学习-Spring Data JPA]
查看>>
百度云磁盘CDS、对象存储BOS技术深度解析
查看>>
Deno:来自Node之父的V8 TypeScript运行时
查看>>
姜宁谈红帽绩效考核:不关心员工具体做什么
查看>>
Trello中的Scrum
查看>>
Pivotal发布了具有新应用程序托管工具的Spring Cloud Data 1.6
查看>>
Scala类型系统的目的——Martin Odersky访谈(三)
查看>>
无服务器计算的黑暗面:程序移植没那么容易
查看>>
Ockam为物联网设备带来区块链无服务器身份识别
查看>>
Agile Consortium的营销交流章
查看>>
Java二十年历程回顾
查看>>
干研发更喜欢无服务器,搞DevOps偏爱容器?
查看>>
《领导力敏捷》作者访谈
查看>>
Vue2.0 学习笔记
查看>>
研究人员发现:基于文本的AI模型容易受到改述攻击
查看>>
物联网技术周报第 103 期: DIY 智能音箱:基于 Raspberry Pi + Snowboy + AVS
查看>>
Creating Great Teams作者问答
查看>>
Azure编配器简化有状态无服务器工作流的创建
查看>>