【全网最齐报错的解决方法!】运行mvn命令打包项目jar包报错?“Fatal error compiling: 无效的目标发行版: 19 ”, 让我来看看~

本文主要是介绍【全网最齐报错的解决方法!】运行mvn命令打包项目jar包报错?“Fatal error compiling: 无效的目标发行版: 19 ”, 让我来看看~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近写实验,要打包项目,但是不管是在cmd运行“mvn clean package -Dmaven.test.skip=true”命令,还是在idea上去操作,都出现了这样的一个错误:

[EROR] Failed to exeoute goal org.apache.maven.plugins:maven-comnpiler-plugin:3.5.1:compile (defavlt-compile) on project rocketmg-dashboard: Fatal enror compiling:

无效的目标发行版:19!!!!

无效的目标发行版错误,这是老伙计来了,一般都是jdk的问题,那么就开始检查是不是idea

配置里面用了19的发行版。

(1)先去setting—>Build,Execution,Deployment—>Compiler—>Java Compiler

(2)然后打开Project Structure——>Project Settings——>Project

(3)Project Structure——>Project Settings——>Modules:

  • —>Sources

  • —>Dependencies

(4)Project Structure——>Platform Settings——>SDKs,还可以再去查看一下jdk对应的文件位置是不是正确的:

因为我的项目环境是要用1.8,所以遇到发行版报错的这种问题,首先先去确保好idea里的jdk配置是不是都配置对了。

但是问题又来了,配置好后,运行命令还是报错啊!!!

那这时候,就需要查看一下环境变量是不是配置对了:

(1)打开cmd,运行命令java -version:

(2)保险起见,在idea—>Terminal里也去运行查看一下,不查不知道,一查吓一跳!

第二个问题又来来来来了:

系统配置的jdk版本和idea适用的jdk不一致!!!

但是idea里jdk的配置都改了过来,为啥还是显示17嘞?应该它还是用的修改之前的配置,可以再找办法清理一下。

(1)先试试 最常用的mvn clean :

(2)然后再Bulid—>rebuild project重建一下项目:

(3)要是还不行,就清一下缓存重启项目:

(4)要是还不行(前提是已经确保了idea所有与jdk相关的配置版本都是跟系统变量一致的情况下),关闭idea,起身走走,走个十来分钟再打开idea,这时候神奇的一幕就会出现,jdk的版本一致了:

到这里,其实就已经差不多了,但是我的这个项目还有点问题,再去运行mvn命令,还是报错啊!!既然我的idea里jdk版本都切换成了1.8,而系统变量的jdk也设置了1.8的,但是却报的是19发行版的错误,这里我就突然想起来,我的maven默认设置了19的jdk版本!!

那么就去查看一下,进入到maven的安装目录下:

打开settings.xml文件,滑动到这里,显然可以发现,默认设置了19的版本:

所以,最后一步来了,如果你的maven上默认设置jdk的版本,那么就打开settings.xml文件,将版本换成你需要的版本,这里我用的1.8:

<profile> <id>jdk-1.8</id>  <activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk>  </activation>  <properties>  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source>  <maven.compiler.target>1.8</maven.compiler.target>  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  </properties>   </profile> 

 最后保存,再去运行命令,这时候发现,翻过了一座大山又来一座大山,又又又报错了:

[ERROR] Error executing Maven.
[ERROR] 1 problem was encountered while building the effective settings
[FATAL] Non-parseable settings D:\Maven3.6.3\apache-maven-3.6.3\bin\..\conf\settings.xml: end tag name </profiles> must be the same as start tag <settings> from line 46 (po
sition: TEXT seen ...</profile>\r\n    -->\r\n  </profiles>... @310:14)  @ D:\Maven3.6.3\apache-maven-3.6.3\bin\..\conf\settings.xml, line 310, column 14

但是不要慌,我们来看看这个报错是什么意思:

[ERROR]执行Maven出错。
在构建有效设置时遇到1个问题


[FATAL]不可解析设置D:\Maven3.6.3\apache-maven-3.6.3\bin\..\conf\settings.xml:结束标签名称</profiles>必须与第46行开始标签<settings>相同
位置:文本看到…</profile>\r\n ->\r\n </profiles>…@310:14) @ D:\Maven3.6.3\apache- Maven3.6.3\ bin\..\conf\settings.xml,第310行,第14列

这里其实就可以回去看看,修改的代码有没有漏了什么,或者多了什么,果然,我的是漏了一个标签<profiles>,把标签补上,再回去运行一遍命令,这时候就可以发现成功!

然后在target文件夹下,查看有没有对应生成jar包即可:

这篇关于【全网最齐报错的解决方法!】运行mvn命令打包项目jar包报错?“Fatal error compiling: 无效的目标发行版: 19 ”, 让我来看看~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052388

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java