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

当在IntelliJ中遇到'在路径和启动路径中找不到包java.lang'的致命错误时,通常是由于JDK配置问题导致。错误可能源于缺少tools.jar和dt.jar,这两个文件应该位于{Java_Home}/lib/下。解决方案包括检查JDK安装是否完整,确认环境变量是否正确设置,以及在IntelliJ中正确配置Project SDK。如果问题仍然存在,可能需要删除并重新添加JDK路径。

基础知识

主要是发现自己的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。

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

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

  2. tools.jar

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

    javac XXX.java

    实际上就是运行

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

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

  3. 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的路径添加即可。
D:\JDK\jdk-1.8\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:D:\Software Development Tool\IntelliJ IDEA 2023.1\lib\idea_rt.jar=51425:D:\Software Development Tool\IntelliJ IDEA 2023.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\JDK\jdk-1.8\jre\lib\charsets.jar;D:\JDK\jdk-1.8\jre\lib\deploy.jar;D:\JDK\jdk-1.8\jre\lib\ext\access-bridge-64.jar;D:\JDK\jdk-1.8\jre\lib\ext\cldrdata.jar;D:\JDK\jdk-1.8\jre\lib\ext\dnsns.jar;D:\JDK\jdk-1.8\jre\lib\ext\jaccess.jar;D:\JDK\jdk-1.8\jre\lib\ext\jfxrt.jar;D:\JDK\jdk-1.8\jre\lib\ext\localedata.jar;D:\JDK\jdk-1.8\jre\lib\ext\nashorn.jar;D:\JDK\jdk-1.8\jre\lib\ext\sunec.jar;D:\JDK\jdk-1.8\jre\lib\ext\sunjce_provider.jar;D:\JDK\jdk-1.8\jre\lib\ext\sunmscapi.jar;D:\JDK\jdk-1.8\jre\lib\ext\sunpkcs11.jar;D:\JDK\jdk-1.8\jre\lib\ext\zipfs.jar;D:\JDK\jdk-1.8\jre\lib\javaws.jar;D:\JDK\jdk-1.8\jre\lib\jce.jar;D:\JDK\jdk-1.8\jre\lib\jfr.jar;D:\JDK\jdk-1.8\jre\lib\jfxswt.jar;D:\JDK\jdk-1.8\jre\lib\jsse.jar;D:\JDK\jdk-1.8\jre\lib\management-agent.jar;D:\JDK\jdk-1.8\jre\lib\plugin.jar;D:\JDK\jdk-1.8\jre\lib\resources.jar;D:\JDK\jdk-1.8\jre\lib\rt.jar;D:\我的学习日志\Java\Project\StudyBiliBiliMaven\BookcitySpringBoot\target\classes;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-starter-web\2.7.6\spring-boot-starter-web-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-starter\2.7.6\spring-boot-starter-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot\2.7.6\spring-boot-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-autoconfigure\2.7.6\spring-boot-autoconfigure-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-starter-logging\2.7.6\spring-boot-starter-logging-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\ch\qos\logback\logback-classic\1.2.11\logback-classic-1.2.11.jar;D:\Software Development Kit\use\apache\maven\Repository\ch\qos\logback\logback-core\1.2.11\logback-core-1.2.11.jar;D:\Software Development Kit\use\apache\maven\Repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-to-slf4j-2.17.2.jar;D:\Software Development Kit\use\apache\maven\Repository\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;D:\Software Development Kit\use\apache\maven\Repository\org\slf4j\jul-to-slf4j\1.7.36\jul-to-slf4j-1.7.36.jar;D:\Software Development Kit\use\apache\maven\Repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-core\5.3.24\spring-core-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-jcl\5.3.24\spring-jcl-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\yaml\snakeyaml\1.30\snakeyaml-1.30.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-starter-json\2.7.6\spring-boot-starter-json-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\com\fasterxml\jackson\core\jackson-databind\2.13.4.2\jackson-databind-2.13.4.2.jar;D:\Software Development Kit\use\apache\maven\Repository\com\fasterxml\jackson\core\jackson-annotations\2.13.4\jackson-annotations-2.13.4.jar;D:\Software Development Kit\use\apache\maven\Repository\com\fasterxml\jackson\core\jackson-core\2.13.4\jackson-core-2.13.4.jar;D:\Software Development Kit\use\apache\maven\Repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.4\jackson-datatype-jdk8-2.13.4.jar;D:\Software Development Kit\use\apache\maven\Repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.4\jackson-datatype-jsr310-2.13.4.jar;D:\Software Development Kit\use\apache\maven\Repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.4\jackson-module-parameter-names-2.13.4.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-starter-tomcat\2.7.6\spring-boot-starter-tomcat-2.7.6.jar;D:\Software Development Kit\use\apache\maven\Repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.69\tomcat-embed-core-9.0.69.jar;D:\Software Development Kit\use\apache\maven\Repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.69\tomcat-embed-el-9.0.69.jar;D:\Software Development Kit\use\apache\maven\Repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.69\tomcat-embed-websocket-9.0.69.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-web\5.3.24\spring-web-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-beans\5.3.24\spring-beans-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-webmvc\5.3.24\spring-webmvc-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-aop\5.3.24\spring-aop-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-context\5.3.24\spring-context-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-expression\5.3.24\spring-expression-5.3.24.jar;D:\Software Development Kit\use\apache\maven\Repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.1.3\mybatis-spring-boot-starter-2.1.3.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\boot\spring-boot-starter-jdbc\2.3.0.RELEASE\spring-boot-starter-jdbc-2.3.0.RELEASE.jar;D:\Software Development Kit\use\apache\maven\Repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;D:\Software Development Kit\use\apache\maven\Repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-jdbc\5.2.6.RELEASE\spring-jdbc-5.2.6.RELEASE.jar;D:\Software Development Kit\use\apache\maven\Repository\org\springframework\spring-tx\5.2.6.RELEASE\spring-tx-5.2.6.RELEASE.jar;D:\Software Development Kit\use\apache\maven\Repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.1.3\mybatis-spring-boot-autoconfigure-2.1.3.jar;D:\Software Development Kit\use\apache\maven\Repository\org\mybatis\mybatis\3.5.5\mybatis-3.5.5.jar;D:\Software Development Kit\use\apache\maven\Repository\org\mybatis\mybatis-spring\2.0.5\mybatis-spring-2.0.5.jar;D:\Software Development Kit\use\apache\maven\Repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar;D:\Software Development Kit\use\apache\maven\Repository\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar" com.hugo.BookcitySpringBootApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.6) 2025-10-20 16:45:38.822 INFO 16744 --- [ main] com.hugo.BookcitySpringBootApplication : Starting BookcitySpringBootApplication using Java 1.8.0_211 on LAPTOP-3C699CDA with PID 16744 (D:\我的学习日志\Java\Project\StudyBiliBiliMaven\BookcitySpringBoot\target\classes started by 26412 in D:\我的学习日志\Java\Project\StudyBiliBiliMaven) 2025-10-20 16:45:38.825 INFO 16744 --- [ main] com.hugo.BookcitySpringBootApplication : No active profile set, falling back to 1 default profile: "default" 2025-10-20 16:45:40.485 INFO 16744 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 9999 (http) 2025-10-20 16:45:40.497 INFO 16744 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-10-20 16:45:40.497 INFO 16744 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.69] 2025-10-20 16:45:40.759 INFO 16744 --- [ main] o.a.c.c.C.[.[localhost].[/Bookcity] : Initializing Spring embedded WebApplicationContext 2025-10-20 16:45:40.759 INFO 16744 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1861 ms 2025-10-20 16:45:41.447 WARN 16744 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceTransactionManagerAutoConfiguration$JdbcTransactionManagerConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.datasource.DataSourceTransactionManager]: Factory method 'transactionManager' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/support/JdbcTransactionManager 2025-10-20 16:45:41.455 INFO 16744 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-10-20 16:45:41.472 INFO 16744 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-10-20 16:45:41.505 ERROR 16744 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceTransactionManagerAutoConfiguration$JdbcTransactionManagerConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.datasource.DataSourceTransactionManager]: Factory method 'transactionManager' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/support/JdbcTransactionManager at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) [spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) [spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) [spring-boot-2.7.6.jar:2.7.6] at com.hugo.BookcitySpringBootApplication.main(BookcitySpringBootApplication.java:11) [classes/:na] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.datasource.DataSourceTransactionManager]: Factory method 'transactionManager' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/jdbc/support/JdbcTransactionManager at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.24.jar:5.3.24] ... 19 common frames omitted Caused by: java.lang.NoClassDefFoundError: org/springframework/jdbc/support/JdbcTransactionManager at org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration$JdbcTransactionManagerConfiguration.createTransactionManager(DataSourceTransactionManagerAutoConfiguration.java:69) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration$JdbcTransactionManagerConfiguration.transactionManager(DataSourceTransactionManagerAutoConfiguration.java:63) ~[spring-boot-autoconfigure-2.7.6.jar:2.7.6] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_211] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_211] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_211] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_211] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.24.jar:5.3.24] ... 20 common frames omitted Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.support.JdbcTransactionManager at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_211] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_211] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_211] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_211] ... 27 common frames omitted 进程已结束,退出代码1 根据之前的信息,解析这段报错日志,指出问题
10-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值