运行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:

XML 复制代码
<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> 

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

XML 复制代码
[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包即可:

相关推荐
禁默10 分钟前
深入浅出:AWT的基本组件及其应用
java·开发语言·界面编程
Cachel wood17 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Code哈哈笑20 分钟前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活
java·开发语言·学习
終不似少年遊*22 分钟前
pyecharts
python·信息可视化·数据分析·学习笔记·pyecharts·使用技巧
gb421528722 分钟前
springboot中Jackson库和jsonpath库的区别和联系。
java·spring boot·后端
程序猿进阶23 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
zfoo-framework31 分钟前
【jenkins插件】
java
风_流沙36 分钟前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
ProtonBase1 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构