Windows系统中不同Java版本共存

Windows系统中不同Java版本共存的方法

在Windows系统中,有时我们需要同时运行多个Java应用,而这些应用可能依赖于不同版本的Java Development Kit (JDK) 或 Java Runtime Environment (JRE)。为了实现这种需求,我们需要在Windows中配置多个Java版本并能够在需要时轻松切换。以下是在Windows中实现不同Java版本共存的方法。

一、安装多个Java版本

首先,你需要从Oracle官网(https://www.oracle.com/java/technologies/downloads/)或其他可信来源下载并安装所需的不同Java版本。确保将每个版本安装到不同的文件夹中,以便后续配置环境变量。Java不同版本下载(https://www.oracle.com/java/technologies/java-se-glance.html)

例如,你可以安装JDK1.8和JDK 17,分别安装或放在D:\Environment\Java\JDK下的不同目录如下图所示
在这里插入图片描述

二、配置环境变量

  1. CLASSPATH变量

    • 在系统变量中新增CLASSPATH变量
    • 并新增变量值.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
      在这里插入图片描述
  2. JAVA_HOME变量

    • 为每个Java版本创建一个新的系统环境变量,变量名通常为JAVA<版本号>_HOME,例如JAVA1.7_HOMEJAVA1.8_HOME
    • 将这些变量的值分别设置为对应Java版本的安装路径根目录,如D:\Environment\Java\JDK\jdk1.7.0_51D:\Environment\Java\JDK\jdk1.8.0_131
  3. JAVA_HOME引用

    • 创建一个名为JAVA_HOME的系统环境变量,并将其值设置为当前你想要使用的Java版本的JAVA<版本号>_HOME变量的值。例如,如果你想要使用JDK 1.8,那么JAVA_HOME的值就应该是%JAVA1.8_HOME%

    在这里插入图片描述

  4. PATH变量

    • 编辑系统环境变量中的PATH变量,添加%JAVA_HOME%\bin%JAVA_HOME%\jre\bin到PATH的开头(确保这些路径在Windows系统自带Java路径之前,以保证优先使用你配置的Java版本)
      在这里插入图片描述

三、切换Java版本

当你需要切换Java版本时,只需修改JAVA_HOME环境变量的值即可。例如,如果你想要从JDK 1.8切换到JDK 1.7,只需将JAVA_HOME的值从%JAVA1.8_HOME%更改为%JAVA1.7_HOME%。修改完成后,可能需要重新打开命令行窗口(CMD)或重启IDE(如Eclipse、IntelliJ IDEA等)以使更改生效。

四、验证Java版本

为了验证当前使用的Java版本,可以命令行窗口(CMD)中输入java -version并回车。系统应该会显示当前JAVA_HOME所指向的Java版本的详细信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

五、注意事项

  • 在配置环境变量时,请确保不要包含空格或特殊字符,并且路径和变量名都是正确的。
  • 如果在切换Java版本后遇到问题(如版本未正确切换),请尝试关闭并重新打开命令行窗口或重启IDE。
  • 如果需要同时运行多个Java应用且每个应用需要不同的Java版本,请确保每个应用都使用正确的Java版本启动。这可以通过在应用的启动脚本中指定JAVA_HOME的值来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我应该如何使用 Python 的 NLTK 库进行词频统计?

使用Python的NLTK&#xff08;Natural Language Toolkit&#xff09;库进行词频统计&#xff0c;你可以遵循以下步骤&#xff1a; 安装NLTK库&#xff1a; 如果你还没有安装NLTK&#xff0c;可以通过pip安装&#xff1a; pip install nltk导入必要的模块&#xff1a; 在Python脚…

电商APP用户体验提升技巧:一个实战案例

随着网络和移动技术的快速发展&#xff0c;加上全球疫情的影响&#xff0c;电子商务应用程序改变了人们的购物方式&#xff0c;积累了大量的用户群体。如今&#xff0c;一个成功的电子商务应用程序&#xff0c;除了网站用户界面的美&#xff0c;电子商务用户体验的设计&#xf…

深度学习笔记: 最详尽LinkedIn Feed 排名系统设计

欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家&#xff01; LinkedIn Feed 排名 1. 问题陈述 设计一个个性化的LinkedIn Feed&#xff0c;以最大化用户的长期参与度…

Typecho:简约而强大的开源PHP博客平台

Typecho&#xff1a;让博客写作回归本质- 精选真开源&#xff0c;释放新价值。 概览 Typecho是一个开源的PHP博客平台&#xff0c;以其简洁的界面和强大的功能&#xff0c;为博客作者提供了一个高效、易于管理的写作环境。它是一个轻量级、高性能的解决方案&#xff0c;适用于…

【TensorFlow深度学习】Adam优化器的工作原理与配置细节

Adam优化器的工作原理与配置细节 Adam优化器的工作原理与配置细节&#xff1a;深度学习优化艺术的精粹Adam优化器的原理探秘配置细节&#xff1a;细调Adam的超参数实战演练&#xff1a;使用Keras配置Adam优化器总结与进阶 Adam优化器的工作原理与配置细节&#xff1a;深度学习优…

xgboost导出为pmml模型包

机器学习模型使用时需要导出后部署在线使用&#xff0c;有些项目需要pmml格式&#xff0c;两种方法&#xff0c;第二种成本更低。 一、什么是PMML PMML(Predictive Model Markup Language)&#xff1a;预测模型标记语言&#xff0c;它用XML格式来描述生成的机器学习模型&…

python的df.describe()函数

一、初识describe()函数 在数据分析和处理的过程中,我们经常需要了解数据的基本统计信息,如均值、标准差、最小值、最大值等。pandas库中的describe()函数为我们提供了这样的功能,它可以快速生成数据集的描述性统计信息。 二、describe()函数的基本用法 describe()函数是pan…

探索Python装饰器:优雅地增强函数功能

Python 装饰器是一种高级功能&#xff0c;允许你在不修改原始函数代码的情况下&#xff0c;动态地修改或扩展函数的行为。 基本语法 装饰器是一种特殊的函数&#xff0c;其基本语法如下&#xff1a; def decorator_function(func):def wrapper(*args, **kwargs):# 在调用原始…

【WP|9】深入解析WordPress [add_shortcode]函数

add_shortcode 是 WordPress 中一个非常强大的函数&#xff0c;用于创建自定义的短代码&#xff08;shortcodes&#xff09;。短代码是一种简洁的方式&#xff0c;允许用户在内容中插入动态的、可重用的功能。通过 add_shortcode&#xff0c;开发者可以定义自己的短代码&#x…

【MMU】——MMU 相关的 CP15 寄存器

文章目录 MMU 相关的 CP15 寄存器C1(System Control Register)C2(Translation Table Base Control Register)C3(Domain Access Control Register)C5(Data Fault Status Register)C6(Data Fault Address Register)C9C10MMU 相关的 CP15 寄存器 寄存器作用寄存器 C1 中…

前端开发环境:Vue、Element Plus、Axios

目录 1. Vue简介 2. Element Plus简介 3. Axios简介 4. 创建Vue项目 4.1 Node.js安装 4.2 创建Vue项目 4.3 Vue项目的结构 4.4 安装Element-Plus 4.5 安装Axios 4.6 解决跨域问题 5. 应用实例 5.1 创建Vue组件 5.2 配置路由 5.3 配置根组件 5.4 启动前端应用服…

Vue 爷孙组件通讯之:Provide / Inject 详细介绍

背景 在父子组件传递数据时&#xff0c;通常使用的是 props 和 emit&#xff0c;父传子时&#xff0c;使用的是 props&#xff0c;如果是父组件传孙组件时&#xff0c;层层传递非常麻烦。 对于这种情况&#xff0c;我们可以使用一对 provide 和 inject。无论组件层次结构有多深…

在不受支持的 Mac 上安装 macOS Sonoma (OpenCore Legacy Patcher v1.5.0)

在不受支持的 Mac 上安装 macOS Sonoma (OpenCore Legacy Patcher v1.5.0) Install macOS on unsupported Macs 请访问原文链接&#xff1a;https://sysin.org/blog/install-macos-on-unsupported-mac/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主…

【leetcode--30.串联所有单词的子串】

有没有一样喜欢看示例的&#xff0c;&#xff0c;看题目就觉得很难懂。大致就是words要进行排列组合&#xff0c;返回s中所有包含这个排列组合的首标。 顺完逻辑蛮好懂的&#xff0c;应该不算困难题&#xff0c;只是不知道用什么模块实现。 class Solution:def findSubstring…

如何利用Varjo混合现实技术改变飞机维修训练方式

自2017年以来&#xff0c;总部位于休斯顿的HTX实验室一直在推进混合现实技术&#xff0c;与美国空军密切合作&#xff0c;通过其EMPACT平台提供可扩展的沉浸式飞机维护虚拟现实培训。 虚拟和混合现实对维修训练的好处&#xff1a; l 实践技能&#xff1a;提供一个非常接近真实场…

【C++题解】1074 - 小青蛙回来了

问题&#xff1a;1074 - 小青蛙回来了 类型&#xff1a;需要找规律的循环 题目描述&#xff1a; 关于小青蛙爬井的故事&#xff0c;你应该早就听过了&#xff1a;井深10 尺&#xff0c;小青蛙从井底向上爬&#xff0c;每个白天向上爬 3 尺&#xff0c;每个晚上又滑下来 2 尺&…

Java | Leetcode Java题解之第136题只出现一次的数字

题目&#xff1a; 题解&#xff1a; class Solution {public int singleNumber(int[] nums) {int single 0;for (int num : nums) {single ^ num;}return single;} }

App UI 风格,尽显魅力

精妙无比的App UI 风格

Eclipse添加C和C++编译成汇编文件的选项

在miscellaneous中添加assemble listing选项就可以生成汇编文件了

[自学记录09*]Unity Shader:在Unity里渲染一个黑洞

一、前言 记得很久很久以前&#xff0c;在ShaderToy上看过一个黑洞的效果&#xff0c;当时感觉太*8帅了&#xff0c;于是这几天就尝试自己弄了一个。 Gargantua With HDR Bloom (shadertoy.com) 下面是我自己实现的黑洞 可以看到还是略逊一筹&#xff08;感觉略逊百筹&#x…