解读Java环境变量配置

开发 后端
从大二开始我们就接触了Java,大三才真正开始Java之旅,不过大部分的当时会被Java的环境变量搞得晕头转向,虽然知道环境变量的方法,但是还是一知半解。有多少人真正透彻Java环境变量呢?

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:\WINDOWS\system32目录。

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

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

当先安装j2sdk1.4.2,后安装jbuilder8等开发工具时,由于jbuilder8的java.exe在拷贝到C:\WINDOWS\system32时可能覆盖了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.2\bin

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

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

CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar

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

【Troubleshooting】

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

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

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

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

原文链接:http://blog.sina.com.cn/s/blog_5421dfd2010006bp.html

【编辑推荐】

  1. Java精确截取字符串
  2. Java I/O系统基础知识
  3. Java 远程文件对接
  4. Java生成树结构各点之间最短路径算法
  5. Java字符编码根本原理
责任编辑:林师授 来源: mousekitty的博客
相关推荐

2010-09-16 15:33:48

Java环境变量

2009-06-16 15:57:53

Java环境变量

2009-06-29 15:06:23

环境变量配置Java

2010-04-06 12:45:28

CentOS系统

2009-07-03 16:46:07

JSP环境变量

2010-10-11 09:25:31

MySQL环境变量

2021-11-29 10:25:16

Linux环境变量命令

2012-09-18 01:22:33

Java环境变量Classpath

2010-01-18 14:47:42

VB.NET获取环境变

2017-03-07 19:30:54

Windows 7Windowsjava

2011-06-14 09:04:52

Qt 环境变量

2009-07-07 12:48:29

JDK环境变量设置

2009-06-15 16:28:30

JAVA环境变量

2010-01-11 17:39:31

Fedora 8配置J

2020-11-23 15:21:12

Linux环境变量

2021-06-09 08:21:14

Webpack环境变量前端

2020-12-28 10:50:09

Linux环境变量命令

2009-06-15 16:47:41

Java环境变量

2021-02-15 15:52:27

Linux环境变量命令

2023-11-01 13:40:25

GolangGo
点赞
收藏

51CTO技术栈公众号