最近在命令行上运行java程序时出现了问题,百度了很多答案都没有解决(原因竟是我错误的地方太多了),经过我不断地寻找,终于把问题解决了。以下是我犯的错误和解决方法。
一、环境变量配置错误
解决方法:
1.JAVA_HOME应配置到jdk所在目录,比如jdk在C盘的Java目录下,那么就配置成"C:\Java\jdk"。(jdk应为实际下载的版本,此处简写了)。
2.CLASSPATH配置成".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar",前面有一个".",注意配置时不能省略(建议直接复制)。
3.Path的配置:可以把之前配置的删除再按照我的方法去添加。"%JAVA_HOME%\bin","%JAVA_HOME%\jre\bin",把这两个配置到环境变量中就行了(是系统变量不是用户变量)。
二、若java文件是包含在软件包中的则执行时应写"包名.文件名"
比如我的一个java文件是在Package1包中,如图:
若在命令行中执行如下命令:
就会出现 错误:找不到或无法加载主类 。(以上路径是我电脑上的,读者应根据实际情况写)
正确的方法是:
这样即可出现正确结果。
三、 没有生成".class"文件
(注意:上一个问题是在已有".class"情况下执行的,若没有也会出现错误。)
若没有".class"文件,如下:
执行命令时会出现如下情况:
这种情况应编译一下;但是编译时若执行javac Package1.HelloWorld会出现错误:
正确的方法是在Package1下执行javac HelloWorld.java,如下:
此时会生成一个".class"文件,如下:
再执行命令即可:
以上就是我在执行过程中遇到的问题。