Java环境变量的设置(初阶)

第一步:设置三个java环境变量,java_home,path,class(注意这三个参数大小写不区分)。其中java_home是你的java的安装路径,如我的系统的安装路径是”C:/Program Files/Java/jdk1.6.0_03” 。即找到系统下jdk所在的路径。

设置三个环境变量的值:

Java_home= C:/Program Files/Java/jdk1.6.0_03

Path=%java_home%/bin;%Path%  //其中 %变量% 表示应用该环境变量的当前值

//可以在命令行模式下用echo %变量%  输出查看一下结果

classpath=./;%java_home%/lib/tools.jar;%java_home%/lib/dt.jar

到目前位置,所有环境变量都已经设置好了,可以使用javajavac命令了,在命令行模式下输入java javac查看一下结果。如果javac命令不可用,那么请确认在path环境变量中包含了%java_home%/bin

第二步:编写一个javaHello.java。比如把他放到D:/

public class Hello

{

       public static void main(String[] args){

              System.out.println("Hello world!");

       }

}

在命令行输入“javac D:/Hello.java 得到一个Hello.class文件;再输入“ java –cp D:/  Hello ”得到运行结果Hello world!

       第三步:可能会遇到的问题,“Exception in thread "main" java.lang.NoClassDefFoundError”。产生该问题的原因有三个:

1.       classpath  设置的不对(稍后在详细说明)

2.       java hello  (大小写敏感,应该是java Hello)

3.       java Hello.class  (寻找package Hello下面的 class.class 文件,当然找不到,同时java类也不能命名为 class.java  (因为是java关键字),但可以是  Class.java  (因为java大小写敏感))

下面详细说第一个问题类路径的设置。实际上   java   虚拟机是由   java luncher   初始化的,   也就是   java   (   java.exe)  这个程序来执行的。

虚拟机按以下顺序搜索并装载所有需要的类:  

1, 引导类: 组成 java 平台的类,  包含 rt.jar类等 ,在目录 %java_home%/jre/lib/ 

2, 扩展类: 使用java扩展机制的类, 都是位于扩展目录(%java_home%/jre/lib/ext) 中的 .jar档案包.  

3, 用户类: 开发者定义的类或者没有使用java 扩展机制的第三方产品. 你必须在命令行中使用 -classpath  选项或者使用  CLASSPATH  环境变量来确定这些类的位置.我们在上面所说的用户自己的类就是特指这些类。用户只需指定用户类的位置,  引导类和扩展类是"自动"寻找的。用户类设置:

---   "."   即当前目录, 这个是缺省值.  

---   CLASSPATH   环境变量,  一旦设置, 将缺省值覆盖.  

---   命令行参数   -cp   或者  -classpath,  一旦指定, 将上两者覆盖.

因此我们要运行Hello.class文件有三种方式:

1.       进入文件所在的目录(当前目录)运行  java Hello (一定行)

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:/Documents and Settings/linxinzheng>java Hello

Exception in thread "main" java.lang.NoClassDefFoundError: Hello

Caused by: java.lang.ClassNotFoundException: Hello

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

 

C:/Documents and Settings/linxinzheng>D:

 

D:/>java Hello

Hello world!

D:/>

(注:如果结果还是Caused by: java.lang.ClassNotFoundException,是因为你没在环境变量中设置当前目录“.”

注意前面classpath= ./; %java_home%/lib/tools.jar;%java_home%/lib/dt.jar

)

 

2.       在环境变量中设置classpath,添加路径 D/ ,或在命令行中设置非永久性环境变量 set classpath=%classpath%;D:/  , 运行  java Hello

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:/Documents and Settings/linxinzheng>java Hello

Exception in thread "main" java.lang.NoClassDefFoundError: Hello

Caused by: java.lang.ClassNotFoundException: Hello

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

 

 

C:/Documents and Settings/linxinzheng>set classpath=%classpath%;D:/

 

C:/Documents and Settings/linxinzheng>java Hello

Hello world!

 

C:/Documents and Settings/linxinzheng>

3.       –cp-classpath 参数  java  –cp   D:/   Hello

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:/Documents and Settings/linxinzheng>java Hello

Exception in thread "main" java.lang.NoClassDefFoundError: Hello

Caused by: java.lang.ClassNotFoundException: Hello

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

 

C:/Documents and Settings/linxinzheng>java -cp  D:/  Hello

Hello world!

 

C:/Documents and Settings/linxinzheng>

    第四步:高阶设置(待续)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值