起因
在cmd环境直接进行代码编译的时候居然出现了这个错误。
之前倒是没想到还会出现javac的错误。
1、环境配置正常
以下名称分别对应在环境变量中的名字,代码块中的地址为需要填写的值。
JAVA_HOME地址
C:\Program Files\Java\jdk1.8.0_162
Path地址
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH地址
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
需要在CLASSPATH环境变量中加入“.;”即可。“.”的意思是搜索当前目录。
Java是一种对格式和内容要求比较严格的语言。
一个类的全名应该是包名+类名。
所以以下分为两种情况来讨论:
1)没有写明包名,
2)写明包名。
2、没有包的类
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
System.out.println("Hello This Place");
}
}
包所在目录
在当前地址栏直接输入cmd,打开cmd编辑窗口(免去了跳转地址)
2.1执行前
2.2 执行javac HelloWorld.java后,生成.class文件
2.3 执行java HelloWorld,输出函数的内容
3、有包的类
Hello.java的内容,有一个二级的包路径。
package的首字母小写,包名需要以;封号结尾。
package test.exam;
public class Hello {
public static void main(String[] args) {
System.out.println("Hello ");
System.out.println("Hello with package");
}
}
3.1 当前路径
3.2 执行语句生成class文件。
javac -d . Hello.java
javac -d . Hello.java
注意这句话里面有一个点,点的前后都需要有空格。
这句话表示根据类Hello.java中的包层级路径来生成对应的class文件。
查看当前生成的class文件路径
3.3 回到刚刚的目录,
输入以下语句来执行类。
java test/exam/Hello
java test/exam/Hello
跳到包的路径的时候,需要为正斜杠/,因为\反斜杠这个符号是无法跳转进去的。
3.4 执行后的结果如下
4、小结
在过程中一定要确保java的配置地址是正确的,尤其是Path。
因为一般Path中还有很多其他软件配置的path地址,比较繁杂。
推荐将环境变量值这里的参数复制出来到文本编辑器中查看。
java语句运行出错的,在cmd中直接输入cmd会有相关的帮助说明。
5、总结
这个不是什么大问题,就是个小的配置,结果导致耽误了1、2个小时的时间。
写代码一定要注意环境的配置,编写的内容语句的正确性。
才能写出健壮的程序。