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