你的位置:首页 > Java教程

[Java教程]Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法


Java的cmd配置(也即Java的JDK配置及相关常用命令)

                                                                         ——找不到或无法加载主类  的解决方法

  这段时间一直纠结于cmd下Java无法编译运行的问题。主要问题描述如下:

    javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”。

 

  在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件。而那些可以运行的文件就是因为没有使用package语句。

我这种问题的解决方法就是使用几个特殊的命令。

  常用的命令是 javac file.javaname 和j ava filename  (设.java文件名字为filename),此处还要说一句注意主类的名字和文件名完全相同,包括大小写。

  而若代码里有package语句,则要使用 javac -d 指定的目录 fileName.java   (如 javac -d F: fileName.java  ),然后就会在指定目录里生成一个文件夹,如果指定目录是“.”,则代表当前目录。文件夹名字就是package的名字(设为pkname),接下来cd进入该文件夹,使用java pkname.filename  即可运行。

特附启发性网址一个:http://blog.sina.com.cn/s/blog_673bf2100100hrgd.html

 

 

 

其他常见问题:

1.javac和java的版本不同:

  在cmd下输入java -version和javac -version,分别显示两个命令的版本号。如果java的版本号高于javac的版本号,java还是可以正常运行的。但如果java的版本号低于javac,则java无法正常运行。因为低版本的java无法运行高版本的javac所编译出的.class文件。

解决方法附网址:http://blog.csdn.net/feihong247/article/details/7878873

如果网址失效,就百度“java与javac版本”

2.环境变量设置问题:

  首先解释一下环境变量应该设置用户的还是系统的,附网址:http://www.blogjava.net/tyjava/articles/390788.html

总体来说就是设置系统的则所有用户都能使用,设置用户的则当前用户可以使用,换个用户就不好使了。但在Windows上大多数人不存在这个问题,所以两个都可以。如果不确定的话,就设置系统的吧。再不放心就两个都设置一下(比如我。。)。

  首先设置JAVA_HOME,我的是D:\Java\jdk1.8.0_05    (注意此处是D:\Java\jdk1.8.0_05还是D:\Java\jdk1.8.0_05\      ,两者差了一个“\”)

  然后是PATH,我的是在原有的PATH值最前面加上了.;%JAVA_HOME%\bin;    (注意此处以“.”开头,表示当前目录。而这里的%JAVA_HOME%也就相当于上面你为它赋值的那一串,所以如果你的%JAVA_HOME%是带“\”的,你的PATH添加的内容就该是.;%JAVA_HOME%bin; )

  然后是CLASSPATH,我的是.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib;    (此处依然以“.”开头,表示当前目录,这样你才能cd进入一个目录并执行该目录下的.java文件。至于lib前面的“\”加不加,同PATH的处理方法。)

 

                                                                      2015-05-28

                                                                       22:23:09