Java的cmd配置(也即Java的JDK配置及相关常用命令)
——找不到或无法加载主类 的解决方法
这段时间一直纠结于cmd下Java无法编译运行的问题。主要问题描述如下:
javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”。
在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件。而那些可以运行的文件就是因为没有使用package语句。
我这种问题的解决方法就是使用几个特殊的命令。
常用的命令是
//此处注释采用“//”,若要复制代码到cmd,请勿复制注释部分
//设.java文件名为 filename //注意主类的名字和文件名完全相同,包括大小写。
javac filename.java java filename
而若代码里有package语句,则要使用
javac -d 指定的目录 filename.java // 如 javac -d F: filename.java
执行后就会在指定目录里生成一个文件夹,如果指定目录是“.”,则代表当前目录。文件夹名字就是package的名字(设为pkname),接下来使用
java pkname.filename
即可运行。
若程序中用到多个.java文件或多个.class文件也可使用这两条语句。
特附启发性网址一个:http://blog.sina.com.cn/s/blog_673bf2100100hrgd.html
其他常见问题:
1. javac 和 java 的版本不同:
在cmd下输入
java -version //显示java命令的版本号
和
javac -version //显示javac命令的版本号
如果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,我的是
//JAVA_HOME D:\Java\jdk1.8.0_05 /* 注意此处是D:\Java\jdk1.8.0_05还是D:\Java\jdk1.8.0_05\ ,两者差了一个“\” */
然后是PATH
//PATH //在原有的PATH值最前面加上 .;%JAVA_HOME%\bin; /* 注意此处以“.”开头,表示当前目录。而这里的%JAVA_HOME%也就相当于上面你为它赋值的那一串,所以如果你的%JAVA_HOME%是带“\”的,你的PATH添加的内容就该是 .;%JAVA_HOME%bin; */
然后是CLASSPATH
//CLASSPATH .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib; /* 此处依然以“.”开头,表示当前目录,这样你才能cd进入一个目录并执行该目录下的.java文件。至于lib前面的“\”加不加,同PATH的处理方法。 */
附网址一个:http://blog.163.com/zhouru729@126/blog/static/82764270200711423542180/
2015-05-28
22:23:09