当前位置: 首页 > news >正文

环境配置:如何在IntelliJ IDEA中安装和修改JDK版本配置(以Windows为例)

环境配置:如何在IntelliJ IDEA中安装和修改JDK版本配置(以Windows为例)

为了在Java开发中使用最新的功能和优化,升级和配置JDK版本是必不可少的。本文将详细介绍如何下载、安装、配置最新的JDK版本,并在IntelliJ IDEA中正确设置项目的JDK版本,确保你的开发环境能够支持最新的Java特性。


文章目录

      • 一:升级JDK版本
        • 1. 打开下载链接:
        • 2. 选择合适的版本:
          • Windows 用户
          • macOS 用户
          • Linux 用户
          • 推荐下载:
        • 3. 安装:
        • 4. 配置环境变量(以Windows为例)
        • 5. 验证安装是否成功:
      • 二:在IntelliJ IDEA中添加JDK
        • 1. 打开项目结构设置
        • 2. 添加JDK 19
      • 三:配置项目使用JDK 19
        • 1. 设置项目SDK
        • 2. 设置模块SDK
        • 3. 编译器设置
      • 四:修改IntelliJ IDEA中的运行配置
      • 五:更改项目的Java版本
        • 1. 编辑项目的构建文件
        • 2. 确保IDE设置正确
        • 常见问题及解决方案
        • 总结

Java Development Kit(JDK)是Java开发必不可少的工具包,随着Java语言的演进,新的JDK版本会定期发布,这些新版本通常包含新的语言特性、性能改进以及安全补丁。因此,为了利用这些新特性和改进,开发者需要升级自己的JDK版本。同时,在集成开发环境(如IntelliJ IDEA)中,正确配置JDK对于项目的正常运行和开发效率至关重要。

假设你正在维护一个Java项目,项目的需求更新要求使用Java 19的新功能。为了确保项目能够正常编译和运行,你需要将当前的JDK版本升级到JDK 19,并在IntelliJ IDEA中正确配置这个新版本的JDK。

一:升级JDK版本

要使用Java 19,你需要首先在系统中安装该版本的JDK。以下是具体的步骤:

1. 打开下载链接:
  • 访问Oracle或OpenJDK的官方网站下载JDK 19:
    • Oracle JDK 19 下载
    • OpenJDK 19 下载
2. 选择合适的版本:

根据你的操作系统选择合适的安装包。(此部分过于详细,可以直接跳转至本节末尾表格)

Windows 用户

如果你使用的是Windows系统,有以下几个选择:

  1. Windows x64 Compressed Archive:下载压缩包并手动配置(适合有经验的用户)。
  2. Windows x64 Installer:下载可执行的安装程序,运行后自动配置(推荐)。
  3. Windows x64 msi Installer:下载MSI安装包,运行后自动配置。

推荐下载:Windows x64 Installer(适合大多数用户,操作简单)。

macOS 用户

如果你使用的是macOS系统,有以下几个选择:

  1. macOS x64 Compressed Archive:下载压缩包并手动配置。
  2. macOS x64 DMG Installer:下载DMG安装包,运行后自动配置(推荐)。
  3. macOS Arm 64 DMG Installer:适用于Apple Silicon (M1/M2)处理器的Mac。

推荐下载:macOS x64 DMG Installer(适合大多数用户,操作简单)。如果你使用的是Apple Silicon处理器,选择 macOS Arm 64 DMG Installer

Linux 用户

如果你使用的是Linux系统,有以下几个选择:

  1. Linux x64 Compressed Archive:下载压缩包并手动配置。
  2. Linux x64 RPM Package:适用于基于RPM包管理的系统,如Fedora、Red Hat等。
  3. Linux x64 Debian Package:适用于基于Debian包管理的系统,如Ubuntu等。
推荐下载:
操作系统推荐下载选项说明
WindowsWindows x64 Installer推荐大多数用户使用,因为操作简单。
macOSmacOS x64 DMG Installer 或 macOS Arm 64 DMG Installer针对x64架构的Mac用户推荐使用macOS x64 DMG Installer,对于Apple Silicon (M1/M2)用户推荐使用macOS Arm 64 DMG Installer。
LinuxLinux x64 Compressed Archive 或 Linux x64 Debian PackageLinux用户可以选择压缩包(适合所有发行版)或特定包管理系统的安装包(如Debian/Ubuntu)。
3. 安装:

下载完成后,根据操作系统运行对应的安装程序,按照提示完成安装。

注意:此时需要记住安装路径

4. 配置环境变量(以Windows为例)
  1. 打开系统属性

    • 右键点击“此电脑”(This PC),选择“属性”(Properties)。
    • 点击“高级系统设置”(Advanced system settings),然后点击“环境变量”(Environment Variables)。
  2. 设置 JAVA_HOME 变量

    • 在“系统变量”(System variables)部分,点击“新建”(New)。
    • 变量名(Variable name): JAVA_HOME
    • 变量值(Variable value): JDK 的安装路径,例如 C:\Program Files\Java\jdk-19.0.2
    • 点击“确定”(OK)保存。
  3. 更新 Path 变量

    • 在“系统变量”(System variables)部分,找到并选择 Path,然后点击“编辑”(Edit)。
    • 点击“新建”(New),添加以下路径:%JAVA_HOME%\bin
    • 点击“确定”(OK)保存。
5. 验证安装是否成功:

完成环境变量配置后,打开命令提示符(Command Prompt),输入以下命令并按回车:

java -version

你应该看到类似于以下的输出,表示Java版本信息:

java version "19.0.2" 2023-01-17
Java(TM) SE Runtime Environment (build 19.0.2+7-44)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)

再输入以下命令并按回车:

javac -version

你应该看到类似于以下的输出,表示Java编译器版本信息:

javac 19.0.2

二:在IntelliJ IDEA中添加JDK

在IntelliJ IDEA中,添加并配置新的JDK版本是确保项目正常运行的关键步骤。以下是详细的步骤:

1. 打开项目结构设置
  • 点击菜单栏中的 文件 File -> 项目结构 Project Structure 或使用快捷键 Ctrl+Alt+Shift+S
    在这里插入图片描述
2. 添加JDK 19
  1. 在左侧面板中选择 平台设置 Platform Settings 下的 SDKs

  2. 点击上方的 + 号按钮,选择 添加新SDK Add JDK

    在这里插入图片描述
  3. 浏览并选择你安装的JDK 19的路径(例如 C:\Program Files\Java\jdk-19.0.2)。

  4. 确认添加。

三:配置项目使用JDK 19

确保你的项目使用新版本的JDK,以便能够利用最新的Java特性。

1. 设置项目SDK
  • 打开 文件 File -> 项目结构 Project Structure -> 项目设置 Project Settings 下的项目 Project
  • 确保 Project SDK 设置为正确的JDK版本(例如,JDK 19)。
    在这里插入图片描述
  • 确认 Project language level 与JDK 19匹配(例如 19 - Switch expressions, text blocks, etc.)。
    在这里插入图片描述
2. 设置模块SDK
  1. 在 项目设置 Project Settings 下的 模块Modules 选项中,选择依赖Dependencies
  2. 在 依赖 Dependencies 选项卡中,确保 Module SDK 选择的是JDK 19。
    在这里插入图片描述
3. 编译器设置
  1. 打开 文件 File -> 设置 Settings -> 构建、执行、部署 Build, Execution, Deployment -> 编译器 Compiler -> Java编译器 Java Compiler

    在这里插入图片描述
  2. 确保 目标字节码版本 Project bytecode version 设置为正确的版本(例如,17)。

四:修改IntelliJ IDEA中的运行配置

为了在IntelliJ IDEA中使用新版本的JDK,你需要更新运行配置中的JRE版本。以下是具体步骤:

  1. 打开运行/调试配置

    • 在IntelliJ IDEA中,点击右上角的运行配置下拉菜单,然后选择“Edit Configurations…”。
    • 或者,你也可以通过菜单栏选择 运行 Run -> 编辑配置 Edit Configurations...
  2. 选择项目配置

    • 在左侧的运行配置列表中,选择你的项目配置(例如 SpringbootQuickstartApplication)。
  3. 修改JRE版本

    • 在 构建并运行Build and run部分,你会看到当前配置使用的JRE版本(例如 java 8 1.8)。
    • 点击右侧的下拉菜单,然后选择你安装的JDK 19。如果没有显示JDK 19,你需要先添加它(前面过程已经添加)。
  4. 应用更改

    • 选择JDK 19后,点击“OK”保存并关闭配置窗口。
    • 然后点击“Apply”并确认。

五:更改项目的Java版本

如果你不需要特定的Java 19功能,可以将项目的Java版本降级到你的JDK版本支持的版本,例如Java 17或Java 11。以下是具体步骤:

1. 编辑项目的构建文件
  • 如果你使用Maven,编辑 pom.xml 文件,将 sourcetarget 版本设置为你的JDK版本支持的版本。
<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target>
</properties>
  • 如果你使用Gradle,编辑 build.gradle 文件,将 sourceCompatibilitytargetCompatibility 设置为适当的版本。
java {sourceCompatibility = JavaVersion.VERSION_17targetCompatibility = JavaVersion.VERSION_17
}
2. 确保IDE设置正确

在IDE的设置中检查项目结构或构建工具的配置,确保使用正确的JDK版本。你可以在项目结构中检查是否使用了与构建文件中匹配的JDK版本。

常见问题及解决方案
  • 问题:安装后Java版本未更新?

    • 解决方案:检查环境变量配置是否正确,并确保Path变量中的JDK路径正确。
  • 问题:IDE无法识别新添加的JDK?

    • 解决方案:确保在IntelliJ IDEA中正确添加了JDK路径,并检查项目结构中的SDK设置。
总结

通过本文的步骤,你可以成功升级并配置JDK,确保你的Java项目能够使用最新的语言特性和优化。在升级过程中,务必仔细遵循每个步骤,以避免潜在的环境问题。希望本文对你在开发中的JDK管理有所帮助。

相关文章:

环境配置:如何在IntelliJ IDEA中安装和修改JDK版本配置(以Windows为例)

环境配置&#xff1a;如何在IntelliJ IDEA中安装和修改JDK版本配置&#xff08;以Windows为例&#xff09; 为了在Java开发中使用最新的功能和优化&#xff0c;升级和配置JDK版本是必不可少的。本文将详细介绍如何下载、安装、配置最新的JDK版本&#xff0c;并在IntelliJ IDEA…...

Spring AOP 原理——代理模式

目录 一、代理模式 1.1 静态代理 1.2 动态代理 1.2.1 JDK动态代理 1.2.2 CGLIB动态代理 Spring AOP 是基于动态代理来实现AOP的。 一、代理模式 代理模式, 也叫委托模式。该模式是为其他对象提供⼀种代理以控制对这个对象的访问。它的作用就是通过提供一个代理类&#…...

leetcode 234.回文链表

思路&#xff1a;其实就是判断反转链表是不是和原链表一样的问题。 我们可以借助反转链表的思路&#xff0c;首先我们先把链表的全部元素正向存储&#xff0c;然后再把链表进行反转。 之后我们再遍历反转之后的链表结点元素是不是和刚刚存储数组里面的元素一致就可以了。一旦…...

AD中Split Planes 的作用和功能

在 Altium Designer (AD) 中&#xff0c;Split Planes 功能允许你在一个平面层&#xff08;例如电源层或地层&#xff09;上分割出多个不同的区域&#xff0c;每个区域可以分配给不同的网络&#xff08;net&#xff09;。这对于设计中需要管理多种电源或接地类型的情况下非常有…...

[linux][命令]linux文件操作命令大全

Linux操作系统提供了丰富的文件操作命令&#xff0c;以下是一些常用的文件操作命令列表&#xff1a; 查看文件内容 cat&#xff1a;查看文件内容。less&#xff1a;分页显示文件内容。more&#xff1a;分页显示文件内容&#xff0c;一次显示一屏。head&#xff1a;查看文件的前…...

大语言模型 (LLM) 窥探未来

初始的探索 在NLP领域&#xff0c;早期的模型如 LSTM 和 GRU 在处理序列数据时取得了一定的成功。但随着数据量和复杂性的增加&#xff0c;这些模型开始显得力不从心。 Transformer的诞生 Transformer 模型的提出&#xff0c;它通过自注意力&#xff08;Self-Attention&…...

WPF DataGrid调试错误总结

最近WPF中使用了DataGrid做了表格&#xff0c;框架版本为472&#xff0c;遇到了不少的问题&#xff0c;因为软件添加了一个退出进程的全局错误捕获&#xff0c;因此不得不解决所有问题&#xff0c;这边总结一下DataGrid的问题 EditItem is not allowed for this view 按字面意…...

【GCC】结合GPT4 延迟梯度学习1:公式推导及理论分析

大神的分析 本文主要借鉴。【TWCC 】基于gpt和python简化分析webrtc拥塞控制论文: Analysis and Design of the Google Congestion Contro for Web Real-time Communication (WebRTC)感觉应该学习好理论后再进行python 分析:【gcc】基于gpt和python的流程和延迟梯度分析另外:…...

【Linux】【网络】进程间关系与守护进程

进程间关系与守护进程 文章目录 1.进程组1.1什么是进程组1.2组长进程 2.会话2.1什么是会话2.2如何创建会话 3.作业3.1什么是作业、作业控制&#xff1f;3.2作业号3.3常见作业状态3.4作业的切换 4.守护进程4.1什么是守护进程&#xff1f;4.2如何创建守护进程4.3模拟实现daemon …...

红黑树的插入与删除

文章目录 红黑树概念红黑树的性质&#xff1a; 红黑树的插入操作情况一情况二情况三 小总结红黑树的验证红黑树的删除一.删除单孩子节点1. 删除节点颜色为黑色2. 删除颜色为红色 二. 删除叶子节点1. 删除节点为红色2.删除节点为黑色2.1兄弟节点为黑色&#xff0c;有孩子节点&am…...

联通数科如何基于Apache DolphinScheduler构建DataOps一体化能力平台

各位小伙伴晚上好&#xff0c;我是联通数字科技有限公司数据智能事业部的王兴杰。 今天&#xff0c;我将和大家聊一聊联通数字科技有限公司是如何基于Apache DolphinScheduler构建DataOps一体化能力平台的。 今天的分享主要分为三个部分&#xff1a; 关于DataOps的一些思考&a…...

Python知识点:如何使用Mitmproxy进行HTTP/HTTPS流量分析

Mitmproxy 是一个强大的中间人代理工具&#xff0c;可以用来分析和修改 HTTP 和 HTTPS 流量。以下是如何使用 Mitmproxy 进行 HTTP/HTTPS 流量分析的步骤&#xff1a; 安装 Mitmproxy 首先&#xff0c;你需要在系统上安装 Mitmproxy。可以通过以下方式安装&#xff1a; 使用 …...

06:【stm32】OLED模块的简单使用

OLED模块的简单使用 OLED简单的使用 OLED简单的使用 OLED驱动函数是使用B站UP江科大的。我们直接调用即可&#xff0c;是使用软件模拟I2C协议进行通信的。具体的I2C协议可查看上官嵌入式开发中的C51单片机开发。 驱动函数文件&#xff1a;通过百度网盘分享的文件&#xff1a;…...

HIVE4.0.0的10000端口启动不起来的一种情况

问题 原生态部署HIVE4.0.0启动不起来10000端口&#xff0c;也没找到日志文件的位置&#xff0c;后来才知道日志文件默认在/tmp/<hostname>/路径下面&#xff0c;查看日志以为是Tez没安装的问题&#xff0c;我这儿要实现hive on spark&#xff0c;是不是该安装spark然后启…...

[极客大挑战 2019]FinalSQL1

打开题目 sql注入&#xff0c;点击1试一下 点击2试一下 点击3试一下 点击4 点击5 id6试一下 感觉是sql盲注了 编写脚本 import requests import string from time import sleep url "http://9da9cb18-3096-413a-9476-8a177ffec31a.node4.buuoj.cn:81/search.php?id0^(…...

Go语言 标签Label

Go语言 label标签和枚举介绍及使用示例 目录 标签label 标签和goto continue break 枚举 代码示例 说明 总结 标签label 标签和goto 设置标签&#xff0c;并在标签中判断符合条件后&#xff0c;跳到指定标签位置。 示例如下&#xff1a; package mainimport "…...

自反射 RAG 管道:如何实现?

什么是 Self-RAG? 人工智能中的自反射 RAG(检索增强生成)管道是指一种自适应和自我改进的系统,它结合了信息检索和语言生成过程,以提供更准确和特定于上下文的响应。这种类型的管道超越了标准的RAG 管道,它结合了一种自反射机制,使其能够评估其性能,确定需要改进的领域…...

怎么将jar注册为windows系统服务详细操作

将spring boot项目编译成jar,注册为windows系统服务 在网上了解到,winsw这个开源项目,去github看了下,作者常年维护更新,文档齐全,拥有不少,自己写了个小demo体验了下还不错,然后又运行了一个晚上,没啥问题,遂决定采用它 开源地址 源库地址 https://github.com/winsw/winsw R…...

数据结构.

1:基本大纲 数据结构、算法线性表&#xff1a;顺序表、链表、栈、队列树&#xff1a;二叉树、遍历、创建查询方法、排序方式 2:数据结构&#xff08;逻辑结构&#xff0c;存储结构&#xff0c;操作&#xff08;数据的运算&#xff09;&#xff09; 2.1&#xff1a;数据&#xf…...

thinkphp5之sql注入漏洞-builder处漏洞

目录 适用版本 环境搭建 文件下载安装 配置文件修改 漏洞分析 适用版本 注&#xff1a;thinkphp版本&#xff1a;5.0.13<ThinkPHP<5.0.15 、 5.1.0<ThinkPHP<5.1.5 环境搭建 文件下载安装 在github上面下载相应版本&#xff0c;下载think文件&#xff0c;…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明&#xff0c;此教程是针对Simulink编译模型并导入Veristand中编写的&#xff0c;同时需要注意的是老用户编译可能用的是Veristand Model Framework&#xff0c;那个是历史版本&#xff0c;且NI不会再维护&#xff0c;新版本编译支持为VeriStand Model Generation Suppo…...

python打卡day49@浙大疏锦行

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 一、通道注意力模块复习 & CBAM实现 import torch import torch.nn as nnclass CBAM(nn.Module):def __init__…...

Electron简介(附电子书学习资料)

一、什么是Electron&#xff1f; Electron 是一个由 GitHub 开发的 开源框架&#xff0c;允许开发者使用 Web技术&#xff08;HTML、CSS、JavaScript&#xff09; 构建跨平台的桌面应用程序&#xff08;Windows、macOS、Linux&#xff09;。它将 Chromium浏览器内核 和 Node.j…...

创客匠人:如何通过创始人IP打造实现知识变现与IP变现的长效增长?

在流量红利逐渐消退的当下&#xff0c;创始人IP的价值愈发凸显。它不仅能够帮助中小企业及个人创业者突破竞争壁垒&#xff0c;还能成为企业品牌影响力的核心资产。然而&#xff0c;市场上IP孵化机构鱼龙混杂&#xff0c;如何选择一家真正具备长期价值的合作伙伴&#xff1f;创…...