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

JDK版本报错

你可能遇到很多次这种情况

你可以想想,项目中pom.xml文件里的JDK版本,Maven里的JDK版本,project structure里的JDK版本,到底是什么关系

pom.xml

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.release>17</maven.compiler.release></properties>

只是一个标准规范

  • 定义你写的代码语法和 class 文件要求的版本

  • 告诉编译官:“我的代码是用 Java 17 写的,你必须用 17 或更高来编译”

Maven

Maven有两大作用,1是项目的依赖管理,另一个就是构建和编译管理。所以说Maven是包含javac的,这里的JDK版本就是将java文件编译为class文件,所以这里必须和pom.xml里保持一致,或者大于

structure

他也存在Javac,但是他还包括JVM的版本。在编译成class文件后,还要经过JVM才可以运行嘛,所以structure的版本也要保持一致

问题1

如果maven版本不对,但是structure和pom.xml文件里的JDK一致,那么可以运行嘛?

可以!!!

因为如果直接点击运行,他的javac是走structure里的。

但是如果你单独点击maven complie,就需要保证maven的JDK也保持一致

http://www.dtcms.com/a/349005.html

相关文章:

  • 在PC机上使用虚幻引擎5(UE5)开发第一款游戏的完整入门指南
  • 门面设计模式
  • Python核心技术开发指南(012)——浮点数
  • 如何捕获组件的异常情况
  • 一个简单的html音乐播放器
  • 阿里发布Qoder:颠覆软件开发体验的AI编程平台
  • 前端应用容器化,基于Docker多阶段构建的最佳实践
  • More Effective C++ 条款05: 谨慎定义类型转换函数
  • Java 泛型的“擦除”与“保留”:一次完整的编译与反编译实验
  • Docker中Dify镜像由Windows系统迁移到Linux系统的方法
  • 【计算机408数据结构】第二章:基本数据结构之线性表
  • Leetcode 3660. Jump Game IX
  • 新的 Gmail 网络钓鱼攻击利用 AI 提示注入来逃避检测
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十四)垂直滚动条
  • 【URP】[投影Projector]解析与应用
  • 【cs336学习笔记】[第6课]内核优化与Triton框架应用
  • 如何在算力时代乘风破浪?
  • 深度学习中的模型量化及实现示例
  • 【RAGFlow代码详解-4】数据存储层
  • MySQL学习记录-基础知识及SQL语句
  • 【零代码】OpenCV C# 快速开发框架演示
  • 在 Docker 容器中查看 Python 版本
  • C语言第十二章自定义类型:结构体
  • LangChain RAG系统开发基础学习之文档切分
  • Python核心技术开发指南(016)——表达式
  • 多线程——认识Thread类和创建线程
  • 【记录】Docker|Docker镜像拉取超时的问题、推荐的解决办法及安全校验
  • FPGA时序分析(四)
  • asio的线程安全
  • 使用Cobra 完成CLI开发 (一)