设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar是什么 ,作用是什么

本文解析了JDK配置中dt.jar和tools.jar的作用,解释了它们分别作为运行环境类库和工具类库的功能,并讨论了rt.jar的基础类库作用。文章还详细说明了这些库在开发过程中的必要性和具体应用场景。

网上找了很长时间,就是有点搞不清楚,这JDK的配置CLASSPATH中的dt.jar和tools.jar这两个文件到底是干什么的,有人说这个dt.jar是关于swing的 打开这个包确实可以看到和swing有关的类,说是如果用到swing就要配置这classpath,但是rt.jar中的swing呢 这个不才是真正的包含swing类库吗? 还有就是这两个包到底是用作开发的类库,还是JDK中的JAVAC等程序运行要的类库。 如果不路径这两个包对我们开发的程序中有什么影响?

——————————————————————————————————————————————————————

答:dt.jar和tools.jar是两个java最基本的包,里面包含了从java最重要的lang包到各种高级功能如可视化的swing包,是java必不可少的。
而path下面的bin里面都是java的可执行的编译器及其工具,如java,javadoc等,你在任意的文件夹下面运行cmd键入javac,系统就能自动召见java的编译器就是归功于这个环境变量的设置 

rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库 

设置在classpath里是为了让你 import * 
--------------------------------------------------------------- 

web系统都用到tool.jar 

你用winrar看看里面是什么内容啦 
--------------------------------------------------------------- 

1. 
rt.jar 默认就在 根classloader的加载路径里面 放在claspath是多此一举 
不信你可以去掉classpath里面的rt.jar 

然后用 java -verbose XXXX 的方式运行一个简单的类 就知道 JVM的系统根Loader的路径里面 

不光rt.jar jre/lib下面的大部分jar 都在这个路径里  

2. 

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是关于运行环境的类库,主要是swing的包 你要用到swing时最好加上 


dt.jar好像是swing的一些什么类,Eclipse开发环境默认的JRE也没有包括它。应该没用。
tools.jar应用服务器用来编译JSP文件,应用服务器自己会加载,不需要自己设置。


关于path和classpath的含义: 
1.path变量的含义就是系统在任何路径下都可以识别java,javac命令 
2.classpath变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件,.;表示当前路径,tools.jar和dt.jar为类库路径。如果不用Swing里面的东西,可以不加dt.jar。 tools.jar里面是最基本的工具类,比如javac,不加是无法做开发的。 


 1. rt.jar 默认就在 根classloader的加载路径里面 放在claspath是多此一举 不信你可以去掉classpath里面的rt.jar 然后用 java -verbose **X 的方式运行一个简单的类 就知道 JVM的系统根Loader的路径里面 不光rt.jar jre/lib下面的大部分jar 都在这个路径里  
 2. tools.jar 是系统用来编译一个类的时候用到的 也就是javac的时候用到 javac **.java 实际上就是运行 java -Calsspath=%JAVA_HOME%/lib/tools.jar xx.**.Main **.java javac就是对上面命令的封装 所以tools.jar 也不用加到classpath里面 
 3. dt.jar是关于运行环境的类库,主要是swing的包 你要用到swing时最好加上 


dt.jar是关于运行环境的类库,主要是swing的包
tools.jar是关于一些工具的类库
rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件

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

D:\jdk1.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:\java\idea pojie\IntelliJ IDEA 2024.3.2.1\lib\idea_rt.jar=53141:D:\java\idea pojie\IntelliJ IDEA 2024.3.2.1\bin" -Dfile.encoding=UTF-8 -classpath D:\jdk1.8\jre\lib\charsets.jar;D:\jdk1.8\jre\lib\deploy.jar;D:\jdk1.8\jre\lib\ext\access-bridge-64.jar;D:\jdk1.8\jre\lib\ext\cldrdata.jar;D:\jdk1.8\jre\lib\ext\dnsns.jar;D:\jdk1.8\jre\lib\ext\jaccess.jar;D:\jdk1.8\jre\lib\ext\jfxrt.jar;D:\jdk1.8\jre\lib\ext\localedata.jar;D:\jdk1.8\jre\lib\ext\nashorn.jar;D:\jdk1.8\jre\lib\ext\sunec.jar;D:\jdk1.8\jre\lib\ext\sunjce_provider.jar;D:\jdk1.8\jre\lib\ext\sunmscapi.jar;D:\jdk1.8\jre\lib\ext\sunpkcs11.jar;D:\jdk1.8\jre\lib\ext\zipfs.jar;D:\jdk1.8\jre\lib\javaws.jar;D:\jdk1.8\jre\lib\jce.jar;D:\jdk1.8\jre\lib\jfr.jar;D:\jdk1.8\jre\lib\jfxswt.jar;D:\jdk1.8\jre\lib\jsse.jar;D:\jdk1.8\jre\lib\management-agent.jar;D:\jdk1.8\jre\lib\plugin.jar;D:\jdk1.8\jre\lib\resources.jar;D:\jdk1.8\jre\lib\rt.jar;D:\maventest\demo\target\classes;D:\repo\org\springframework\boot\spring-boot-starter-web\2.7.6\spring-boot-starter-web-2.7.6.jar;D:\repo\org\springframework\boot\spring-boot-starter\2.7.6\spring-boot-starter-2.7.6.jar;D:\repo\org\springframework\boot\spring-boot\2.7.6\spring-boot-2.7.6.jar;D:\repo\org\springframework\boot\spring-boot-autoconfigure\2.7.6\spring-boot-autoconfigure-2.7.6.jar;D:\repo\org\springframework\boot\spring-boot-starter-logging\2.7.6\spring-boot-starter-logging-2.7.6.jar;D:\repo\ch\qos\logback\logback-classic\1.2.11\logback-classic-1.2.11.jar;D:\repo\ch\qos\logback\logback-core\1.2.11\logback-core-1.2.11.jar;D:\repo\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-to-slf4j-2.17.2.jar;D:\repo\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;D:\repo\jakarta\annotation\jak
07-26
F:\Java\jdk1.8.0_131\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:49993,suspend=y,server=n -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:C:\Users\51586\AppData\Local\JetBrains\IntelliJIdea2023.2\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "F:\Java\jdk1.8.0_131\jre\lib\charsets.jar;F:\Java\jdk1.8.0_131\jre\lib\deploy.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;F:\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;F:\Java\jdk1.8.0_131\jre\lib\javaws.jar;F:\Java\jdk1.8.0_131\jre\lib\jce.jar;F:\Java\jdk1.8.0_131\jre\lib\jfr.jar;F:\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;F:\Java\jdk1.8.0_131\jre\lib\jsse.jar;F:\Java\jdk1.8.0_131\jre\lib\management-agent.jar;F:\Java\jdk1.8.0_131\jre\lib\plugin.jar;F:\Java\jdk1.8.0_131\jre\lib\resources.jar;F:\Java\jdk1.8.0_131\jre\lib\rt.jar;D:\Users\51586\Desktop\cpr_server_server\target\classes;D:\maven_repository\org\springframework\boot\spring-boot-starter-web\2.7.8\spring-boot-starter-web-2.7.8.jar;D:\maven_repository\org\springframework\boot\spring-boot-starter\2.7.8\spring-boot-starter-2.7.8.jar;D:\maven_repository\org\springframework\boot\spring-boot\2.7.8\spring-boot-2.7.8.jar;D:\maven_repository\org\springframework\boot\spring-boot-autoconfigure\2.7.8\spring-boot-autoconfigure-2.7.8.jar;D:\maven_repository\org\springframework\boot\spring-boot-starter-logging\2.7.8\spring-boot-starter-logging-2.7.8.jar;D:\maven_repository\ch\qos\logback\logback-classic\1.2.11\logback-classic-1.2.11.jar;D:\maven_repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-to-slf4j-2.17.2.jar;D:\maven_repository\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;D:\maven_repository\org\slf4j\jul-to-slf4j\1.7.36\jul-to-slf4j-1.7.36.jar;D:\maven_repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\maven_repository\org\yaml\snakeyaml\1.30\snakeyaml-1.30.jar;D:\maven_repository\org\springframework\boot\spring-boot-starter-json\2.7.8\spring-boot-starter-json-2.7.8.jar;D:\maven_repository\com\fasterxml\jackson\core\jackson-databind\2.13.4.2\jackson-databind-2.13.4.2.jar;D:\maven_repository\com\fasterxml\jackson\core\jackson-annotations\2.13.4\jackson-annotations-2.13.4.jar;D:\maven_repository\com\fasterxml\jackson\core\jackson-core\2.13.4\jackson-core-2.13.4.jar;D:\maven_repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.4\jackson-datatype-jdk8-2.13.4.jar;D:\maven_repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.4\jackson-datatype-jsr310-2.13.4.jar;D:\maven_repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.4\jackson-module-parameter-names-2.13.4.jar;D:\maven_repository\org\springframework\boot\spring-boot-starter-tomcat\2.7.8\spring-boot-starter-tomcat-2.7.8.jar;D:\maven_repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.71\tomcat-embed-core-9.0.71.jar;D:\maven_repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.71\tomcat-embed-el-9.0.71.jar;D:\maven_repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.71\tomcat-embed-websocket-9.0.71.jar;D:\maven_repository\org\springframework\spring-webmvc\5.3.23\spring-webmvc-5.3.23.jar;D:\maven_repository\org\springframework\spring-aop\5.3.23\spring-aop-5.3.23.jar;D:\maven_repository\org\springframework\spring-expression\5.3.23\spring-expression-5.3.23.jar;D:\maven_repository\org\springframework\boot\spring-boot-starter-websocket\2.7.8\spring-boot-starter-websocket-2.7.8.jar;D:\maven_repository\org\springframework\spring-messaging\5.3.23\spring-messaging-5.3.23.jar;D:\maven_repository\org\springframework\spring-websocket\5.3.23\spring-websocket-5.3.23.jar;D:\maven_repository\org\springframework\spring-context-support\5.3.23\spring-context-support-5.3.23.jar;D:\maven_repository\org\springframework\spring-beans\5.3.23\spring-beans-5.3.23.jar;D:\maven_repository\org\springframework\spring-context\5.3.23\spring-context-5.3.23.jar;D:\maven_repository\org\springframework\spring-core\5.3.23\spring-core-5.3.23.jar;D:\maven_repository\org\springframework\spring-jcl\5.3.23\spring-jcl-5.3.23.jar;D:\maven_repository\org\springframework\spring-web\5.3.23\spring-web-5.3.23.jar;D:\maven_repository\org\springframework\boot\spring-boot-starter-thymeleaf\2.7.8\spring-boot-starter-thymeleaf-2.7.8.jar;D:\maven_repository\org\thymeleaf\thymeleaf-spring5\3.0.15.RELEASE\thymeleaf-spring5-3.0.15.RELEASE.jar;D:\maven_repository\org\thymeleaf\thymeleaf\3.0.15.RELEASE\thymeleaf-3.0.15.RELEASE.jar;D:\maven_repository\org\attoparser\attoparser\2.0.5.RELEASE\attoparser-2.0.5.RELEASE.jar;D:\maven_repository\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;D:\maven_repository\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar;D:\maven_repository\org\thymeleaf\extras\thymeleaf-extras-java8time\3.0.4.RELEASE\thymeleaf-extras-java8time-3.0.4.RELEASE.jar;D:\maven_repository\org\xerial\sqlite-jdbc\3.21.0.1\sqlite-jdbc-3.21.0.1.jar;D:\maven_repository\cn\hutool\hutool-db\5.8.16\hutool-db-5.8.16.jar;D:\maven_repository\cn\hutool\hutool-core\5.8.16\hutool-core-5.8.16.jar;D:\maven_repository\cn\hutool\hutool-setting\5.8.16\hutool-setting-5.8.16.jar;D:\maven_repository\cn\hutool\hutool-log\5.8.16\hutool-log-5.8.16.jar;D:\maven_repository\com\doudou\doudou-tool-core\0.1.1-RELEASES\doudou-tool-core-0.1.1-RELEASES.jar;D:\maven_repository\cn\hutool\hutool-json\5.8.16\hutool-json-5.8.16.jar;D:\maven_repository\cn\hutool\hutool-system\5.8.16\hutool-system-5.8.16.jar;D:\maven_repository\cn\hutool\hutool-crypto\5.8.16\hutool-crypto-5.8.16.jar;D:\maven_repository\org\quartz-scheduler\quartz\2.3.2\quartz-2.3.2.jar;D:\maven_repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;D:\maven_repository\com\doudou\doudou-tool-poi\0.1.1-RELEASES\doudou-tool-poi-0.1.1-RELEASES.jar;D:\maven_repository\cn\hutool\hutool-poi\5.8.16\hutool-poi-5.8.16.jar;D:\maven_repository\org\apache\poi\poi-ooxml\4.1.2\poi-ooxml-4.1.2.jar;D:\maven_repository\org\apache\poi\poi-ooxml-schemas\4.1.2\poi-ooxml-schemas-4.1.2.jar;D:\maven_repository\org\apache\xmlbeans\xmlbeans\3.1.0\xmlbeans-3.1.0.jar;D:\maven_repository\org\apache\commons\commons-compress\1.19\commons-compress-1.19.jar;D:\maven_repository\com\github\virtuald\curvesapi\1.06\curvesapi-1.06.jar;D:\maven_repository\org\apache\poi\poi\4.1.2\poi-4.1.2.jar;D:\maven_repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;D:\maven_repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;D:\maven_repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;D:\maven_repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar;D:\maven_repository\org\jxls\jxls-poi\2.13.0\jxls-poi-2.13.0.jar;D:\maven_repository\org\jxls\jxls\2.13.0\jxls-2.13.0.jar;D:\maven_repository\org\apache\commons\commons-jexl3\3.2\commons-jexl3-3.2.jar;D:\maven_repository\commons-beanutils\commons-beanutils\1.9.4\commons-beanutils-1.9.4.jar;D:\maven_repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;D:\maven_repository\ch\qos\logback\logback-core\1.2.11\logback-core-1.2.11.jar;D:\maven_repository\org\slf4j\jcl-over-slf4j\1.7.36\jcl-over-slf4j-1.7.36.jar;D:\maven_repository\org\jxls\jxls-jexcel\1.0.9\jxls-jexcel-1.0.9.jar;D:\maven_repository\net\sourceforge\jexcelapi\jxl\2.6.10\jxl-2.6.10.jar;D:\maven_repository\log4j\log4j\1.2.14\log4j-1.2.14.jar;D:\maven_repository\com\fazecast\jSerialComm\2.11.0\jSerialComm-2.11.0.jar;D:\maven_repository\org\projectlombok\lombok\1.18.26\lombok-1.18.26.jar;F:\JetBrains\IntelliJ IDEA 2023.2.3\lib\idea_rt.jar" com.jiayi.cpr.CprDemoApplication Connected to the target VM, address: '127.0.0.1:49993', transport: 'socket' 错误: 找不到或无法加载主类 com.jiayi.cpr.CprDemoApplication Disconnected from the target VM, address: '127.0.0.1:49993', transport: 'socket' Process finished with exit code 1
最新发布
11-01
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值