编译单个java文件

本文介绍了在编译单个Java文件时遇到的中文乱码和找不到主类的问题。针对中文乱码,建议将文件编码更改为UTF-8,并在命令行指定编码。对于找不到主类的情况,原因在于Java查找类的方式,解决方案包括去除包名或使用全路径编译。最后,强调了Java执行时对CLASSPATH和package路径的依赖。
摘要由CSDN通过智能技术生成

编译单个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文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值