java环境变量配置详细教程

2023-11-12

1. 什么是环境变量

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

2. 为什么java要配置环境变量

简单来讲就是方便控制台编译和运行java程序,前提是安装了java程序也就是jdk。

如果不进行环境变量的配置,就必须到java的程序目录中去(java版本中bin目录下的java.exe和javac.exe)进行编译和运行,显然这样极大的降低了使用效率。

配置环境变量后:在执行java.exe命令时,控制台会首先在当前目录找java.exe程序,所以你的java程序文件如果恰好就在java.exe所在的目录下就可以运行成功,如果没在,那么控制台就去path变量中指定的路径去找,找到就执行找不到就不执行。所以配置一下之后就会方便许多!所有文件目录下的java程序文件都可以通过控制台编译运行!

3. 如何配置环境变量

3.1 Win + S 搜索高级系统配置

3.2 用户变量和系统变量的区别:

由于windows系统可以创建多个账户,用户环境变量就是只对当前的账户有效,可以看到用户环境变量的全称是xxx的用户变量,表示这只是针对某个账户的变量;而系统变量就是对多有的账户都是有效的。这里大家根据自生需求配置即可(这里演示系统变量配置)

3.3 新建环境变量

变量名是:JAVA_HOME

变量值:安装jdk版本文件夹目录下的bin文件夹,因为java的编译和运行程序在bin文件夹下,也就是下面安装目录

4. 如何检查java环境变量是否配置成功

首先,win+R调出程序运行窗口输入cmd,然后,回车打开黑窗口 ,接着,在黑窗口输入java然后回车,最后如果出现下面一大串,就表示配置成功

5. 不同版本的jdk需要配置不同的环境变量吗?

需要的,因为不同版本的jdk,javac和java对程序的编译运行是不一样的,所以需要分别配置

为了去别不同版本的jdk,可以在JAVA_HOME后面加入数字也是可以的,但是后面管理路径时要一致即可。(旧版本编写的java程序可能在新版本的jdk中报错

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java环境变量配置详细教程 的相关文章

  • ScheduledThreadPoolExecutor如何在特定时间运行任务?

    特别是 它是否像这样在内部实现了 while true 循环 while System currentTimeMillis lt timeToRunTask Thread sleep 1000 doTask From http grepco
  • 如何在 Java 中访问嵌套的 HashMap?

    我有一个 Java 中的 HashMap 其中的内容 你们可能都知道 可以通过以下方式访问 HashMap get keyname 如果一个 HashMap 位于另一个 HashMap 中 即嵌套的 HashMap 我将如何访问内容 我可以
  • JavaFX 2.0 FXML 子窗口

    经过多次搜索我发现了这个问题如何创建 javafx 2 0 应用程序 MDI https stackoverflow com questions 10915388 how to create a javafx 2 0 application
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 如何将现有的 SQLite3 数据库导入 Room?

    好吧 我在桌面上使用 SQLite3 创建了一个只需要读取的某些信息的数据库 我正在制作的应用程序不需要在此表中插入或删除信息 我在 Room 数据库层上做了相当多的谷歌搜索 所有文档都需要在构建应用程序时在 Room 中创建一个新的数据库
  • 当 JMS Prod 位于辅助 POJO 类中时,如何在事务中包含 JMS Producer

    简短的问题 有没有办法强制无状态 EJB 调用的 POJO 存在于 EJB 的上下文中 以便事务和资源注入可以在 POJO 中工作 具体来说 在我想要做的事情的上下文中 如何在 EJB 的事务中包含 POJO JMS 生产者 该生产者在调用
  • maven 无法下载 jacoco 0.7.10-SNAPSHOT jar

    我对此感到困惑 我的 pom xml 中有这个
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • Java 中的 ExecuteUpdate sql 语句不起作用

    我正在学习如何将 SQL 与 Java 结合使用 我已成功安装 JDBC 驱动程序 并且能够从数据库读取记录并将其打印在屏幕上 我的问题发生在尝试执行更新或插入语句时 没有任何反应 这是我的代码 问题所在的方法 public static
  • 从 HttpClient 3 转换为 4

    我已经成功地对所有内容进行了更改 但以下内容除外 HttpClient client HttpPost method client new DefaultHttpClient method new HttpPost url InputStr
  • 更改 JComboBox 中滚动条的大小

    有谁知道如何手动更改 jComboBox 中的滚动条大小 我已经尝试了一大堆东西 但没有任何效果 好吧 我明白了 您可以实现 PopUpMenuListener 并使用它 public void popupMenuWillBecomeVis
  • 如何使用 swagger-codegen-plugin (maven) 生成客户端代码?

    我需要使用 swagger codegen plugin for maven 在 eclipse 中生成服务器存根代码 你能帮忙怎么做吗 以及需要什么配置 在 pom xml 中 我找到了这个答案 您只需要像下面这样更改 pom xml 即
  • 是否有最新的 Facebook Java SDK? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 好像没找到最近更新的 如果没有 是否有一个好的 Java 库来执行与 Facebook 的 API 交
  • Android 解析 JSON 卡在 get 任务上

    我正在尝试解析一些 JSON 数据 我的代码工作了一段时间 我不确定我改变了什么突然破坏了代码 当我运行代码时 我没有收到任何运行时错误或警告 我创建一个新的 AsyncTask 并执行它 当我打电话时 get 在这个新任务中 调试器在此行
  • Java8:流映射同一流中的两个属性

    我有课Model带有以下签名 class Model private String stringA private String stringB public Model String stringA String stringB this
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • android 中的 java.net.URL ..新手问题

    我是java新手 正在尝试android开发 以下代码生成 malformedURLException 有人可以帮助我识别异常吗 任何提示都会非常有帮助 package com example helloandroid import and
  • java中的预增量/后增量

    有人可以帮助我理解为什么 int i 1 int j 1 int k 1 int l 1 System out println i i System out println j j System out println k k System
  • @Embeddable 中的 @GenerateValue

    我已将实体的 id 分离到一个单独的 Embeddable 类中 该实体如下 Entity Table name users public class Users EmbeddedId private Users pk id private
  • 你能快速告诉我这个伪代码是否有意义吗?

    我相信我的代码现在是万无一失的 我现在将写出伪代码 但我确实有一个问题 为什么 DRJava 要求我返回 if 语句之外的内容 正如你所看到的 我为 ex 写了 return 1 只是因为它问了 但是它永远不会返回该值 谁可以给我解释一下这

随机推荐

  • 以太坊社区激励金计划:支持开发者利用去中心化技术改变世界

    1 Matt Liston 希望通过奖励金支持更多好项目 来源 金色财经 责任编辑 姚泓泽 2018年2月19日19 00 由以太坊社区基金主办的分享会于北京三里屯正式开始 来自以太坊社区激励金计划的负责人Matt Liston介绍了以太坊
  • hids wazuh 系列2- 规则管理

    0x00 介绍 1 背景介绍 传统的入侵检测 主要分为网络入侵检测系统和主机入侵检测系统 分别作用于网络层面和主机 服务器 办公电脑等终端 随着技术发展 出现了结合传统入侵检测系统和新技术 如数据分析 威胁情报 自动化操作 主动响应等 的新
  • 操作系统面试题(二)

    请你讲述一下互斥锁 mutex 机制 以及互斥锁和读写锁的区别 参考回答 1 互斥锁和读写锁区别 互斥锁 mutex 用于保证在任何时刻 都只能有一个线程访问该对象 当获取锁操作失败时 线程会进入睡眠 等待锁释放时被唤醒 读写锁 rwloc
  • 迄今最精准人脸数字模型,任意 2D 照片转换逼真3维人脸(转)

    原文地址 http 36kr com p 5073179 html 伦敦帝国理工学院的研究人员开发了一种新的系统 能自动对各种族 年龄的人脸进行准确的 3D 建模 他们还建立了一个大规模人脸扫描数据库 用于训练这个系统 实验证明 该系统比当
  • MySQL中的主键约束和外键约束

    1 主键约束 表通常具有包含唯一标识表中每一行的值的一列或一组列 这样的一列或多列称为表的主键 PK 用于强制表的实体完整性 由于主键约束可保证数据的唯一性 因此经常对标识列定义这种约束 如果为表指定了主键约束 数据库引擎将通过为主键列自动
  • xenomai内核解析--xenomai实时线程创建流程

    版权声明 本文为本文为博主原创文章 未经同意 禁止转载 如有错误 欢迎指正 博客地址 https blog csdn net qq 22654551 type blog 文章目录 问题概述 1 libCobalt中调用非实时POSIX接口
  • 二分查找——给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

    使用时间复杂度为 O log n 的算法 解题思路 1 在右区间时将left mid 1 而左区间时确实right mid 而不是right mid 1 因为我们不是在找某个值得位置 而是找在哪两个数之间 所以用right mid 最后ri
  • Unity3D 对于在VR中普通摄像头和VR摄像头同时存在——分屏

    这两天在研究关于VR的分屏 由于甲方要求需要在VR运行时 有多个一般的摄像头像监控一样定点存在场景中 而且能同时在屏幕上看到 我查了很多资料 并没有查到相关特别好的资料 只能找到如下的解决方案 解决方案 1 首先 VR摄像头和一般摄像头并不
  • 神奇字符串

    一个神奇字符串S仅包含 1 和 2 并遵守以下规则 字符串S是神奇的 因为连接字符 1 和 2 的连续出现次数会产生字符串S本身 字符串S的前几个元素如下 S 1221121221221121122 如果我们将S中的连续 1 和 2 分组
  • maven报错:[ERROR] 不再支持源选项 7。请使用 8 或更高版本。

    解决方案 pom xml文件中增加maven编译的java version jdk版本设置 以及maven compiler source 资源编译jdk版本设置和maven compiler target 资源构建jdk版本设置 JDK
  • 如何转行Python,以工作为导向可能会学的更快

    我是一个曾经做摄影行业的学生 后来转行做计算机 选择了Python 现在已经做了五年Python 月薪38k 因为我也是转行来学习Python的 所以有很多宝贵的经验给大家提供 因为转行并不是一个容易的事情 但是耐不住Python现在的工资
  • Android中的webview监听每次URL变化

    通过这个可以监听Android中webview访问的URL变化 webView setWebViewClient new WebViewClient Override public void onLoadResource WebView v
  • SpringBoot 的 MyBatis 多数据源配置

    实验环境 JDK 1 8 SpringBoot 2 4 1 Maven 3 6 3 MySQL 5 7 因为我本地只有 MySQL 数据库 为了方便演示 我会在启动一个本地 MySQL 在 MySQL 创建两个数据库 每个库中均有一个表 以
  • 关于SQL Server 输入SQL语句不能自动提示的处理方案

    打开 配置工具 SQL Server 配置管理器 看到安装sql server时输入的名称MYSQLSERVER 服务已停止 需启动服务 并将启动模式设置为自动
  • qt中选择文件夹中的中文路径的问题

    参考博客 https blog csdn net m0 37906001 article details 76672634 转换为char 使用的时候 QString fileName1 fileName1 toStdWString c s
  • 自制黑科技------桌面整理工具

    桌面文件太多 找不到文件 通过使用程序 科学的区域划分和文件归类 帮你的桌面变得更整齐 提高你的使用效率 附上桌面图片一张 点击打开链接
  • BottomNavigationView与Navigation使用

    目录 1 as自动生 2 xml代码 如果要修改底部的图标和文字需要去bottom nav menu修改 如果你要修改默认点击颜色需要去主题颜色修改 如果你要修改底部背景颜色可以在BottomNavigationView 的背景颜色修改 如
  • QFile的文件清空操作

    QFile file etc wpa supplicant conf file open QIODevice ReadOnly QTextStream io file file close file open QIODevice Trunc
  • ARM第五章平时作业

    第 5 章 S3C2440 嵌入式系统 共 63 分 一 简述启动代码存储在 NAND Flash 存储器上时 S3C2440 的启动过程 6 分 为了支持 NAND Flash 的 boot loader S3C2440A 配备了一个内部
  • java环境变量配置详细教程

    1 什么是环境变量 环境变量 environment variables 一般是指在操作系统中用来指定操作系统运行环境的一些参数 如 临时文件夹位置和系统文件夹位置等 环境变量是在操作系统中一个具有特定名字的对象 它包含了一个或者多个应用程