编译单个java文件问题
中文乱码
如果java代码中存在中文,直接使用javac 命令编译会出现中文乱码的情况!
中文乱码解决办法
- 1 先将要编译的java文件编码格式改成utf-8。如果开发工具是idea,使用idea自带的选择处理
![[Pasted image 20220831110035.png]] - 2 使用编译命令指定编译编码
javac -encoding utf-8 NetWorkTest.java
找不到主类
如果单个java文件中指定的包名后,直接根据类名编译后运动class文件,会找不到运行主类。
因为java是根据全路径来查找的。在环境变量名为CLASSPATH配置中,会根据在 配置路径下查找对应的类名
找不到主类处理方法
- 1 单个java文件中去除包名
- 2 使用全路径编译
总结
- 1 java执行class文件是根据CLASSPATH指定的地方来找,不是我们理解当前目录。如果希望它查询当前目录,需要在CLASSPATH中加入“.;”,代表当前目录。
- 2 java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件。