首先说明一下, 大部分问题都是在网上找的某些大佬给出的解决方法,但我都试过了却还是不行, 后来自己找到了自己的问题所在, 由此才想把cmd窗口运行java文件时有可能会遇到的常见问题作出以下总结:
1.输入: javac 类名.java时,报编码不可映射问题
命令:javac GuessingGame.java
说明:出现这样的错误,一般是因为代码中含有中文字符,注释中的中文字符也算。由于使用CMD运行java程序的时候,系统默认的编码格式是gbk。而包含中文字符的代码一般是UNICODE格式,所以直接运行含有中文字符的代码就很容易出现编码错误。
1.1解决方法
可以直接使用-encoding指令来为文件指定编码格式。
例如 javac -encoding UTF-8 XXX.java
其中XXX替换为你的java文件名。
解决方法1来源:https://jingyan.baidu.com/article/e3c78d649a56233c4c85f502.html
1.2解决方法
通过系统自带的记事本打开java文件, 点击左上边菜单栏的文件按钮,选择另存为,
然后在另存为界面中,下方保存按钮的左边有个编码选项, 选择ANSI ,更改文件名,
或者换一个文件夹目录存储更改过编码后的文件,再去cmd命令窗口去执行ANSI编码格式的java文件即可
图解↓↓↓:
编译成功!
2.编译运行class文件时报错:错误:找不到或无法加载主类
2.1解决方法
其实我认为如果你能运行成功 javac 命令 就说明你的环境变量没问题,
但也不排除某些特殊情况,所以2.1解决方法也是网上给出的比较多的解决方案
1. 配置系统环境变量classpath为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 其中,最开始的"."表示当前目录
2. 如果1配置好了,重新打开cmd运行java命令还是失败,将.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
图片来源:javascript:void(0)
补充:
* path和classpath的区别
path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的可执行文件
classpath配置的java的类文件,也就是.class文件
手动补充:
我在某个网页上看到有人在评论中说到:
如果是win10环境,只需要配置path和java_home这俩个变量就可以,classpath不用配置,如果配置了classpath,删除配置,重新打开cmd运行就可以了
2.2解决方法
2.2.1
但在cmd窗口中运行class文件时就不可以加package了,
所以检查你的文件是否有package,有的话就删掉
再通过javac 类名.java 来重新编译生成class文件来运行
其实有package的话也可以运行,只是比较麻烦,我就给个链接,有想试试的就去看看吧
javascript:void(0)
2.2.2 这个应该是很容易就被忽视掉的错误点
运行class文件时,不能加.class后缀
因为在你输入类名时可能会有很多小伙伴习惯性的按Tab键来使文件名补全,
但这个补全是带后缀的,所以这一块比较容易被忽略
2.2.3
结束语:大体上常遇到的应该就这几种问题了, 部分问题是直接从其他网页的解决方法如果以上方法都没有解决你的问题,你可以在评论中留言你的问题,我看到了也会帮你找找方法,如果有其他小伙伴看到了说不定就帮你解决了.
另外,我写这篇博客主要是因为自己还是技术新人,听说也好,看到也好,很多人都说养成写博客的习惯对技术方面会有很大的帮助,所以,我就想从一些相对比较简单的问题来着手执行这个行动,争取早日养成这个好习惯,一起加油吧!