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命令对应的可执行文件的路径

idea配置ruby sdk_ide

classpath

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

作用: 指定Java类所在的目录,. 指的是当前目录

idea配置ruby sdk_idea配置ruby sdk_02

本以为设置好后可以安心 java -version 但并没有出现预想的结果,什么原因造成的?

idea配置ruby sdk_idea配置ruby sdk_03

idea配置ruby sdk_JAVA环境变量不能映射字符_04

参考:安装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>添加进去、应用、确定

idea配置ruby sdk_idea配置ruby sdk_05

然后外部库就出现tool.jar啦

idea配置ruby sdk_idea配置ruby sdk_06

idea配置ruby sdk_idea配置ruby sdk_07

因为javac采用了GBK编码解码我们读取的字节。因为我们的字节是UTF-8编码的,所以会出现乱码。

解决方法:

改变idea的编码方式

idea配置ruby sdk_idea配置ruby sdk_08

不改变文件格式,指定javac -encoding utf-8 这样javac解码格式与文件编码格式一致,就不会报错

用idea进行编译,idea可能根据项目编码方式自动确认格式,所以不会报错

参考: javac 编译文件使用的编码方式(是否和源文件编码方式一致)

jdk环境变量配置无效idea外部库下无tool.jarjavac指令乱码错误相关教程