首页 > 编程 > Java > 正文

IntelliJ编译时,致命错误:在路径和启动路径中找不到包java.lang

2019-11-06 06:22:29
字体:
来源:转载
供稿:网友

基础知识

主要是发现自己的java没有安装成功:……/Java/jdk1.8.0_121/lib里面没有tools.jar,dt.jar

而假如正确安装的话,dt.jar和tools.jar位于:{Java_Home}/lib/下,而rt.jar位于:{Java_Home}/jre/lib/下, {Java_Home}对应的本文的是……/Java/jdk1.8.0_121

rt.jar是JAVA基础类库,也就是你在java doc里面看到的所有的类的class文件 dt.jar是关于运行环境的类库

tools.jar是工具类库,编译和运行需要的都是toos.jar里面的类分别是sun.tools.java.; sun.tols.javac.;

在Classpath设置这几个变量,是为了方便在程序中 import;Web系统都用到tool.jar。

rt.jar rt.jar 默认就在Root Classloader的加载路径里面的,而在Claspath配置该变量是不需要的;同时jre/lib目录下的

其他jar:jce.jar、jsse.jar、charsets.jar、resources.jar都在Root Classloader中

tools.jar

tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到

javac XXX.java

实际上就是运行

java -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java

javac就是对上面命令的封装 所以tools.jar 也不用加到classpath里面

dt.jar dt.jar是关于运行环境的类库,主要是swing的包 在用到swing时最好加上。更详细的解释

参考链接: 安装java之后,找不到tools.jar 和dt.jar 其实哈,在安装JDK时一键傻瓜式安装是没有问题

JDK中rt.jar、tools.jar和dt.jar作用

问题描述

win10,本来已下载java7,程序在IntelliJ IDEA上跑得好好的。 下载java8后,修改了环境变量(C:/PRogram Files/Java/jdk1.7.0_79 –> C:/Program Files/Java/jdk1.8.0_121)


这里是吐槽分割线: 一台机器上可以有很多版的JDK,但是环境变量有一版就好,在不同的project里选择相应的JDK版本即可。 被自己蠢哭了 T……T


修改程序的的sdk,再次运行,出现 这里写图片描述

解决办法

java.lang包包含着Java最基础和核心的类,在编译时会自动导入。 java.lang是最基本的类,连它都出错了, 首先第一反应是是不是JDK没有装对,因为之前改过环境变量(被自己蠢哭了 T……T),所以吭哧吭哧去重装了一次JDK,验证JDK是否安装正确: 这里写图片描述 一般而言,只要jre>=java就可以了。

可是,问题依然没有解决。

这时发现一个很关键的一:Compilation failed: inner java compiler error 而且排除了这种可能性(set中java complier 设置的问题 ,项目中有人用jdk1.6 有人用jdk1.7 版本不一样 会一起这个错误)后,那么只能说明一个问题:工程JDK没有配置正确

重新配置JDK即可,File -> Project Structure -> Platform Settings -> SDKs删除原来的JDK(“-”)添加新的JDK(“+”),选择新的JDK的路径添加即可。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表