jdk环境变量配置无效、idea外部库下无tool.jar、javac指令乱码错误
java和idea使用过程中一些错误和解决方法记录
1、jdk环境变量配置无效
按照网上的环境变量配置,比如
-
PATH
变量名:PATH
变量值:%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
作用: 指定java命令对应的可执行文件的路径 -
classpath
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
作用: 指定Java类所在的目录,.
指的是当前目录
本以为设置好后可以安心java -version
但并没有出现预想的结果,什么原因造成的?
解决办法: 根据上面的参考文档可以删除oracle的环境变量,但我是将自建的两个变量提升至最高,这样就会最先被扫描到
至于这个PATH和CLASSPATH具体有什么作用,可以参考下面的博客,很详细:
2、idea外部库下无tool.jar
是系统用来编译一个类的时候用到的,即执行javac的时候用到。
现在想了解javac 编译过程发现 idea中External Libraries根本没有tool.jar
解决方法也很简单,手动导入jar包:
文件>项目结构(或ctrl+alt+shift+s)> SDK>1.8>类路径右侧“+”号>找到jdk安装路径下lib-tool.jar>添加进去、应用、确定
然后外部库就出现tool.jar啦
3、javac 指令报错:编码GBK的不可映射字符
因为javac采用了GBK编码解码我们读取的字节。因为我们的字节是UTF-8编码的,所以会出现乱码。
解决方法:
- 改变idea的编码方式
- 不改变文件格式,指定
javac -encoding utf-8
这样javac解码格式与文件编码格式一致,就不会报错 - 用idea进行编译,idea可能根据项目编码方式自动确认格式,所以不会报错