`
fatherican
  • 浏览: 48481 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java环境变量设置

 
阅读更多

1.安装j2sdk以后,需要配置一下环境变量,右击我的电脑->属性->高级->环境变量->用户变量中单击[新建(N)]添加以下环境变量(假定你的j2sdk安装在C:\Program Files\Java\jdk1.6.0_10)
(为了不出错,最好是找到J2SDK的安装目录,全部打开一直找到并打开jdk1.6.0_10这个文件夹,然后直接复制文件的地址(D),这个文件地址就是JAVA_HOME变量值如“C:\Program Files\Java\jdk1.6.0_10”)

注:新建的对话框上面是显示"新建用户变量"而不是“新建系统变量”

在变量名中填"JAVA_HOME"
在变量值中填"C:\Program Files\Java\jdk1.6.0_10"

新建的环境变量为以下三个,分别新建好后就可以测试一下了

JAVA_HOME
C:\Program Files\Java\jdk1.6.0_10

PATH
C:\Program Files\Java\jdk1.6.0_10\bin

CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注前面的点号和分号一定不能丢,还有中间的,后面的分号也不要丢了)

测试:

打开记事本,将以下程序复过去贴


import javax.swing.*;
class Greetings{
public static void main(String[] args){
String fullName;
fullName=JOptionPane.showInputDialog(null,"What is your name?");
JOptionPane.showMessageDialog(null,"Nice to meet you,"+fullName+".");
System.exit(0);
}
}


在文件菜单中选另存为
文件名为Greetings.java(注意一定记得后辍是".java",文件名和你所写代码的类名一致)
保存类型为"所有\全部"(注意一定要选"所有文件" 或"全部文件",txt的默认是"文本文档"所以保存时一定要改)

先择一个目录,最好是在一个比较简单的目录下,如D盘,我是保存在"D:\java" )(java是我自己建的文件夹.读者也可以不用建)然后确定就可以了.


3.开始->所有程序->附件->命令提示符
这时就已打开了DOS黑窗口了,默认的目录是在C:\Documents and Settings\Administrator>(当然可能各个电脑系统不一样,但如果这时的目录不是我们保存程序代码的目录,那么
我们要改为刚才保存的java文件所在的目录,
直接在DOS窗口输入“D:”按回车(注:其中的冒号不能丢了)
这时我们就看到了目录改为了“D:\>”

然后再输入“cd java\”
此时就看到目录改为了“D:\java>”

那么就可以输入以下命令

javac Greetings.java

这是编译命令,它将完成编译刚才所写的程序,如果编译没有错误那么目录会依然是“D:\java>”(如果有错的话,系统就会提示,这时你的环境配置就有问题了。)

如果没错这时你就可以运行你的程序了,输入以下命令

java Greetings

这是运行命令,如果没有错的,系统将会弹出一个窗口,英语提示你输入你的名,到了这一步就说明你的环境配置是ok的了!

下面讲讲java几个环境变量的含义和linux下的配置方法:

通常,我们需要设置三个环境变量:JAVA_HOME、PATH 和 CLASSPATH。

JAVA_HOME:该环境变量的值就是 Java 所在的目录,一些 Java 版的软件和一些 Java 的工具需要用到该变量,设置 PATH 和 CLASSPATH 的时候,也可以使用该变量以方便设置。

PATH:指定一个路径列表,用于搜索可执行文件的。执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找 PATH 中的每一个路径,直至找到。或者找完 PATH 中的路径也不能找到,则报错。Java 的编译命令 (javac),执行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安装路径下的 bin 目录中。因此我们应该将该路径添加到 PATH 变量中。

CLASSPATH:也指定一个路径列表,是用于搜索 Java 编译或者运行时需要用到的类。在 CLASSPATH 列表中除了可以包含路径外,还可以包含 .jar 文件。Java 查找类时会把这个 .jar 文件当作一个目录来进行查找。通常,我们需要把 JDK 安装路径下的 jre/lib/rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。

PATH 和 CLASSPATH 都指定路径列表,列表中的各项 (即各个路径) 之间使用分隔符分隔。在 Windows 下,分隔符是分号 (;),而在 Linux 下,分隔符是冒号 (:)。

下面分别说明三个环境变量在 Windows 和 Linux 下如何设置,不过在此之前,我们需要做个假设。假设 JDK 在 Windows 下的安装路径是 C:/jdk/,在 Linux 下的安装路径是 /usr/local/jdk/。那么,安装后的 JDK 至少会包括如下内容:

C:/jdk (/usr/local/jdk)
|-- bin
|-- demo
|-- include
|-- jre
| |-- bin
| `-- lib
`-- lib

***** 在 Windows 下设置

Windows 下使用 set 命令设置环境变量,为了使每一次启动计算机都设置这些环境变量,应该在系统盘根目录下的 autoexec.bat 文件中进行设置,如:

set JAVA_HOME=C:/jdk
set PATH=%JAVA_HOME%/bin;C:/Windows;C:/Windows/Command
set CLASSPATH=%JAVA_HOME%/jre/lib/rt.jar;.

有些版本的 Windows 不能用 %变量名% 来替换环境变量的内容,那么就只好直接写 C:/jdk 而不是 %JAVA_HOME% 了。另外,C:/Windows 和 C:/Windows/Command 是 Windows 会自动加入路径的,所以可以从设置中去掉。如果在 autoexec.bat 中已经设置了 PATH,那只需要将 %JAVA_HOME%/bin 加到原来设置 PATH 的那条语句中就行了。

CLASSPATH 也可以根据需要设置或者加入其它的路径,比如你想把自己写的一些类放在 C:/java 中,就可以把 C:/java 也添加到 CLASSPATH 中去,set CLASSPATH=%JAVA_HOME%/jre/lib/rt.jar;C:/java;.。

注意,在 CLASSPATH 中包含了一个“当前目录 (.)”。包含了该目录后,就可以到任意目录下去执行需要用到该目录下某个类的 Java 程序,即使该路径并未包含在 CLASSPATH 中也可以。原因很简单:虽然没有明确的把该路径包含在 CLASSPATH 中,但 CLASSPATH 中的 “.” 在此时就代表了该路径,如:

假设在 C:/java 目录下有可运行的类 HelloJava.class,那么

C:/> set CLASSPATH=C:/jdk/jre/lib/rt.jar;. // 设置 CLASSPATH 环境变量,注意最后有一个 “.”
C:/> cd java // 转到 C:/java 目录
C:/java> java HelloJava // 运行 HelloJava
Hello, Java. // 运行结果
C:/java> _

**** 在 Linux 下设置

Linux 下使用“变量名=变量值”设置变量,并使用 export 命令将其导出为环境变量。为了使每一次登录都自动设置好这些变量,你需要在 ~/.bash_profile 里或者 ~./bashrc 里进行设置,如

export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.

设置 PATH 时用的 $JAVA_HOME 是指替换变量 JAVA_HOME 的值到 $JAVA_HOME 所在位置。如上句实际就是 export PATH=/usr/local/jdk/bin:$PATH。这句中 $PATH 也是同样的作用,不过这里的 PATH 是指以前设置的 PATH 变量的值,而非本次设置 PATH 变量的值。

注意,在 CLASSPATH 中包含了一个“当前目录 (.)”。包含了该目录后,就可以到任意目录下去执行需要用到该目录下某个类的 Java 程序,即使该路径并未包含在 CLASSPATH 中也可以。原因很简单:虽然没有明确的把该路径包含在 CLASSPATH 中,但 CLASSPATH 中的 “.” 在此时就代表了该路径,例如

假设在 /home/fancy/java 目录下有可运行的类 HelloJava.class,那么

[fancy@matrix fancy]$ export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. // 设置 CLASSPATH,注意最后的“.”
[fancy@matrix fancy]$ cd ~/java // 转到 /home/fancy/java
[fancy@matrix java]$ pwd // 显示当前目录
/home/fancy/java // 当前目录是 /home/fancy/java
[fancy@matrix java]$ java HelloJava // 运行 HelloJava
Hello, Java // 运行结果
[fancy@matrix java]$ _

***** 实例分析

只是操作系统不同,略有差别。

两个例子都提到一个“可运行的类”,它是指包含了 public static void main(String[] args) 方法的类,这将在下一章 HelloJava 一节中详述。例中的 CLASSPATH 均未包含 HelloJava.class 所在的目录(C:/java, /home/fancy/java),但是均包含了当前目录 (.)。因此转到包含 HelloJava.class 的目录下去执行 java HelloJava,在 Java 寻找到 CLASSPATH 中的“. (当前目录,C:/java, /home/fancy/java)”时,找到了 HelloJava.class,运行成功。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics