准备java环境时,需要设置JAVA_HOME 和 Path , CLASSPATH 环境变量,它们可以是用户变量,也可以是系统变量。
注意: 系统变量的路径排在用户变量之前。
其中,Windows操作系统是根据Path环境变量来查找命令。
Path环境变量的值是一系列路径,Windows操作系统将在这一系列的路径中一次查找命令,如果能找到,则可以正确执行;否则,将会报 “xxx不是内部或外部命令,也不是可运行的程序或批处理文件”的提示。
Windows操作系统不区分 path的大小写。Linux系统是区分大小写的。
CLASSPATH环境变量的作用是: 当使用 "java Java类名"命令运行java程序时,告诉JRE到哪里去搜索Java类。
我的设置如下:
JAVA_HOME: C:\Program Files(x86)\Java\jdk1.7.0_01
Path: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (如果使用1.5以上的JDK,完全可以不用设置CLASSPATH环境变量。)
注意:
如果想在运行java程序时临时指定JRE搜索Java类的路径,可以使用-classpath 选项,格式如下:
java -classpath dir1;dir2;dir3...; Java类
-classpath 选项的值可以是一系列路径,中间用(;) 隔开, Linux平台上用(:)隔开。
如果想使CLASSPATH环境变量指定的搜索路径有效,而且还会在当前路径下搜索java类,可以用如下格式:
java -classpath %CLASSPATH%;dir1;dir2;dir3....; Java类
这样不仅使用了CLASSPATH环境变量,还对它进行了增加,强制JRE在当前路径下搜索Java类。 如下也可以:
java -cp %CLASSPATH%;dir1;dir2;dir3....; Java类
可参考如下解决实例:
Java问题: Could not find main class HelloWorld.
http://stackoverflow.com/questions/3005433/could-not-find-main-class-helloworld