当前位置: 首页 > 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;…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库&#xff0c;基于 mysql 库改进而来&#xff0c;具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点&#xff1a; 支持 Promise / async-await&#xf…...

轻量级Docker管理工具Docker Switchboard

简介 什么是 Docker Switchboard &#xff1f; Docker Switchboard 是一个轻量级的 Web 应用程序&#xff0c;用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器&#xff0c;使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...

Axure零基础跟我学:展开与收回

亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:...

7种分类数据编码技术详解:从原理到实战

在数据分析和机器学习领域&#xff0c;分类数据&#xff08;Categorical Data&#xff09;的处理是一个基础但至关重要的环节。分类数据指的是由有限数量的离散值组成的数据类型&#xff0c;如性别&#xff08;男/女&#xff09;、颜色&#xff08;红/绿/蓝&#xff09;或产品类…...