您的位置:首页 > 编程语言 > Java开发

Java环境变量设置及在命令行运行class

2013-01-20 10:16 387 查看
在Eclipse中,即使环境变量设置的有问题,也可正常运行,本文所说的设置,是针对在命令行下运行*.class文件的。可直接看最下面的总结。

先说一种简单的方法

将jdk直接复制到一个目录下(不用安装),但要保证这个目录的以及它的所有上级目录名称中不要包含汉字和空格,然后将*.class文件放到另一个目录名称没有空格和汉字的目录下。不用设置任何环境变量,在cmd中直接运行,例如:

c:\jdk1.5\bin\java -classpath c:\javatest Test

下面是需要设置环境变量的方法

测试代码:

//注意:这断代码所在的文件名为Test.java,并且没有在任何包里面(这一点很重要,会影响到在命令行运行的结果)

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("HelloWorld!");

}

}

环境变量的设置

共有三个环境变量

1.JAVA_HOME =.;C:\Program Files\Java\jdk1.6.0_10_1;

2.CLASSPATH =.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;class文件所在的目录;

3.PATH=.;%JAVA_HOME%\bin;

说明:

1.大小写无所谓

2.JAVA_HOME就是jdk的安装目录

3.CLASSPATH中“class文件所在的目录”,指的是要在命令行使用java命令运行的*.class文件所在的目录,这个不能少,如果少了,会报Exception in thread “main” java.lang.NoClassDefFoundError: 的错误

测试环境变量

打开cmd窗口

1.键入java -version,可查看jdk的版本,这在装有多个版本的jdk时很重要

2.键入javac,若可以运行,既说明环境变量配置成功。此步骤在于,某些时候,java命令可以在任何目录下执行,但javac命令却不可以。而标识环境变量配置正确的情况,应该为java命令和javac命令可同时执行。

3.键入javac Test.java,可编译成功,生成Test.class文件(若已有Test.class文件,则可省略此步骤)

4.键入java Test,可运行成功。注意:Test区分大小写,且不带.class扩展名

说明:

1.以下所有命令的执行目录没有任何限制,因为已经设置了环境变量,即你可以在C:\下执行,也可以在C:\aa下执行。

2.Test.java类,如果是在某个包的下面,则在命令行运行时,需要把包名一一对应成文件夹。

例如:如果Test.class没有包名,则文件路径为C:\JavaTest\Test.class,cmd运行时:java Test

如果Test.class在com包下面,则文件路径为C:\JavaTest\com\Test.class,cmd运行时:java com.Test

总结

1.Test.java类在com包下,各个设置如下:

Test.java文件的路径:C:\JavaTest\com\Test.java

环境变量的设置:

JAVA_HOME =.;C:\Program Files\Java\jdk1.6.0_10_1;

CLASSPATH =.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\JavaTest;

PATH=.;%JAVA_HOME%\bin;

命令行下的执行:

javac C:\JavaTest\com\Test.java

java com.Test



2.Test.java类没有在任何包下,各个设置如下:

Test.java文件的路径:C:\JavaTest\Test.java

环境变量的设置:

JAVA_HOME =.;C:\Program Files\Java\jdk1.6.0_10_1;

CLASSPATH =.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\JavaTest;

PATH=.;%JAVA_HOME%\bin;

命令行下的执行:

javac C:\JavaTest\Test.java

java Test



转自:http://blog.sina.com.cn/s/blog_5421dfd20100o0ea.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: