百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

Java环境变量配置的两种方法思考和遇到的问题

citgpt 2024-07-12 09:59 8 浏览 0 评论

今天看“Java从初学到精通”的时候(最近在看各种Java面试题,发现最常遇见的面试题都是很基础的知识和技术,然后就是很流行的框架,所以开始打牢基础知识,后期开始分享Java面试题。),突然发现了一个问题,有关环境变量配置的另一种方法。这种配置方法以前遇到过,但是没有仔细思考其中的区别,今天就来分享这两种配置环境变量的方法和其中容易遇到的问题!之前分享过其中的一种方法,但是对于javac不是内部外部命令,没做汇总,今天统一做一下汇总。

A、在这里默认大家已经安装的JDK和JRE,其实JDK的安装非常简单,我们只要去官网下载.exe的安装包,像安装QQ一样安装就行,也可以不改变路径,一直下一步,下一步直到把JRE也同样安装。

Java环境变量配置的两种方法思考和遇到的问题

B、第一种配置方法:不需要CLASSPATH的方法。

a、新建JAVA_HOME,值就是我们JDK的主目录:“D:\Java8u92\jdk1.8.0_92”。

b、在path的末尾加入:“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”。

c、确认重新打开命令行验证结果。

第二种配置环境变量的方法:需要CLASSPATH的方法。

a、新建JAVA_HOME,值就是我们JDK的主目录:“D:\Java8u92\jdk1.8.0_92”。

b、新建CLASSPATH路径:“%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”。

c、在path变量中新增:“%JAVA_HOME%\bin”。

d、确认重新打开命令行验证结果。



注意:这里如果没有配置CLASSPATH,会出现javac不是内部或外部命令,同时,如果在path中直接引用CLASSPATH,同样会报javac不是内部或外部命令的提示。(特意把CLASSPATH删掉看:javac不是内部或外部命令)

C、思考:那dt.jar和tools.jar到底是什么东东?

大家可以打开看看源码,然后再打开一个源文件看一下,比较正常的jar包打开源文件,你就会发现:

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 *。

思考:为什么打开dt.jar有的交易会报错呢,而有的不会?

首先说明jd-gui是没有错的,这个原因我找很久,答案不是很理想,我个人猜测是有些源码文件只是为了引入别的jar包的源码,这里只是一个快捷方式,而在JVM上运行是可以连接到原文,这里不行,所以才会报错,各位大神,有更好的解析吗?欢迎留言!

欢迎大家继续关注我的经验分享!

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: