java和idea使用过程中一些错误和解决方法记录

  • 1、jdk环境变量配置无效
  • 2、idea外部库下无tool.jar
  • 3、javac 指令报错:编码GBK的不可映射字符
  • 4、idea error:java: 无效的源发行版: 7


1、jdk环境变量配置无效

按照网上的环境变量配置,比如

  1. PATH
    变量名:PATH
    变量值
    %JAVA_HOME%\bin%JAVA_HOME%\jre\bin作用: 指定java命令对应的可执行文件的路径
  2. idea配置无java ee idea配置jdk无效怎么解决_idea配置无java ee


  3. classpath
    变量名CLASSPATH变量值.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;作用: 指定Java类所在的目录,. 指的是当前目录
  4. idea配置无java ee idea配置jdk无效怎么解决_idea配置无java ee_02

  5. 本以为设置好后可以安心 java -version 但并没有出现预想的结果,什么原因造成的?
  6. idea配置无java ee idea配置jdk无效怎么解决_java_03

    idea配置无java ee idea配置jdk无效怎么解决_idea配置无java ee_04


参考:安装jdk后,自己配置环境变量不起作用的问题

解决办法: 根据上面的参考文档可以删除oracle的环境变量,但我是将自建的两个变量提升至最高,这样就会最先被扫描到

至于这个PATH和CLASSPATH具体有什么作用,可以参考下面的博客,很详细:

Java环境变量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>添加进去、应用、确定

idea配置无java ee idea配置jdk无效怎么解决_java_05


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

idea配置无java ee idea配置jdk无效怎么解决_jar_06

3、javac 指令报错:编码GBK的不可映射字符

idea配置无java ee idea配置jdk无效怎么解决_idea配置无java ee_07


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

解决方法:

  1. 改变idea的编码方式
  2. 不改变文件格式,指定javac -encoding utf-8 这样javac解码格式与文件编码格式一致,就不会报错
  3. 用idea进行编译,idea可能根据项目编码方式自动确认格式,所以不会报错

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

4、idea error:java: 无效的源发行版: 7

因为我要测试1.6版本代码,将之前的java7改为1.6,更改模块SDK后报错
idea error:java: 无效的源发行版: 7

原因:未更改语言级别

步骤:

1、 更改模块SDK

idea配置无java ee idea配置jdk无效怎么解决_jar_08


2、更改模块语言级别

idea配置无java ee idea配置jdk无效怎么解决_idea配置无java ee_09


这步结束后即可正常运行,可能还有的步骤(备忘)

3、更改模块运行 jre(如果报 UnsupportedClassVersionError错误)

idea配置无java ee idea配置jdk无效怎么解决_jar_10


idea配置无java ee idea配置jdk无效怎么解决_idea配置无java ee_11

4、更改编译字节码版本(如果报编译错误:Compilation failed: internal java compiler error

idea配置无java ee idea配置jdk无效怎么解决_ide_12