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

reason: the Java file contained parse errors

今天用Maven打包项目时发生一个错误:
file: D:\workspace\echoo2.0-xxx-xxx-portal\src\main\java\com\echoo\service\impl\DecDataServiceImpl.java; reason: the Java file contained parse errors

打包报错显示这个类解析错误
在IDEA中没有任何错误提示

问题所在:
代码中用了jdk14的新特性,一个新的数据结构 record

	// 定义了一个record类型的对象private record Result(byte[] dataKeyByte, byte[] dataIvByte) {}private Result getResult(DeliveryEncKey deliveryEncKey) throws Exception {String dataKey = AESGCMUtil.decrypt(AESGCMUtil.hexStringToByteArray(deliveryEncKey.getEncryptionKey()),aesGCMConf.getMasterKey(), aesGCMConf.getMasterIv());String dataIV = AESGCMUtil.decrypt(AESGCMUtil.hexStringToByteArray(deliveryEncKey.getIv()),aesGCMConf.getMasterKey(), aesGCMConf.getMasterIv());byte[] dataKeyByte = AESGCMUtil.hexStringToByteArray(dataKey);byte[] dataIvByte = AESGCMUtil.hexStringToByteArray(dataIV);return new Result(dataKeyByte, dataIvByte);}

项目用的是jdk17,这是IDEA没有报错的原因,因为这个语法jdk17是完全支持的
在这里插入图片描述
但是用Maven打包或者编译时却报了无法解析的错
看了一下pom编译配置:

            <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version> <!-- 使用与你的Maven版本兼容的最新版本 --><configuration><source>17</source><target>17</target></configuration></plugin>

Maven的jdk版本

PS D:\workspace\xxxxx> mvn -version
Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8)
Maven home: D:\tools\apache-maven-3.9.1
Java version: 17.0.5, vendor: Oracle Corporation, runtime: D:\tools\JDK17
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

也找不到什么问题

这时候俺再仔细看了一下报错:
Caused by: net.revelc.code.impsort.ex.ImpSortException: file: D:\workspace\dm2.0-api-for-courier-admin-portal\src\main\java\com\hkt\it\ds\ruby\dmg\courieradmin\service\impl\DecDataServiceImpl.java; reason: the Java file contained parse errors

发现这个ImpSortException好像是一个第三方的异常,
仔细看了看pom文件,发现项目用了一个第三方插件impsort-maven-plugin

            <plugin><groupId>net.revelc.code</groupId><artifactId>impsort-maven-plugin</artifactId><executions><execution><id>sort-imports</id><goals><goal>sort</goal></goals><phase>process-sources</phase></execution></executions></plugin>

这个插件是他们用来做代码排序的,注释掉这个插件就build success了
在这里插入图片描述
垃圾插件!!!
去这个插件的官方文档看了看
在这里插入图片描述
1.9.0版本是2023-05-09日更新的
在这里插入图片描述
jdk14于2020年3月17日正式发布,它竟然不支持?
垃圾插件!!!

相关文章:

reason: the Java file contained parse errors

今天用Maven打包项目时发生一个错误&#xff1a; file: D:\workspace\echoo2.0-xxx-xxx-portal\src\main\java\com\echoo\service\impl\DecDataServiceImpl.java; reason: the Java file contained parse errors 打包报错显示这个类解析错误 在IDEA中没有任何错误提示 问题所…...

使用密钥对登录服务器

目录 1、使用密钥文件登录服务器 2、登录成功画面&#xff1a; 3、如若出现以下状况&#xff0c;则说明密钥文件登录失败 1、使用密钥文件登录服务器 首先需要上传pem文件 2、登录成功画面&#xff1a; 3、如若出现以下状况&#xff0c;则说明密钥文件登录失败 解决方法&…...

面试_多线程

线程池 线程池的参数有哪些 线程池七大参数分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler corePoolSize&#xff1a;线程池中常驻核心线程数maximumPoolSize&#xff1a;线程池能够容纳同时执行的最大线程数keepAliveTime&…...

跨境电商必备?揭秘原生IP的作用

一、什么是原生IP&#xff1f; 原生IP&#xff08;Native IP&#xff09;是指由互联网服务提供商&#xff08;ISP&#xff09;或服务器提供商直接分配给用户的IP地址&#xff0c;这种IP地址直接与用户设备或网络相连&#xff0c;也就是指这个IP的注册地址和服务器机房所在的国…...

mysql竖表变横表不含聚合

文章目录 前言一、vertical_table二、转换1.要将其转换为横表形式&#xff0c;例如&#xff1a;2.sql 总结 前言 在MySQL中将竖表转换为横表&#xff08;也称为行转列操作&#xff09;&#xff0c;不涉及聚合函数&#xff0c;通常可以通过使用条件判断和自连接来实现。假设有一…...

application/x-www-form-urlencoded和json的区别

application/x-www-form-urlencoded 和 application/json 是两种不同的数据格式&#xff0c;常用于HTTP请求中传递数据。 它们各自的特点和使用场景如下&#xff1a; 1. application/x-www-form-urlencoded •特点&#xff1a;这是一种传统的表单提交时采用的编码类型&#x…...

oracle数据库日常保养或巡检语句实践整理汇总

目录 1.目的 2.操作工具 3.实践说明 1.检查Oracle实例状态 2.检查Oracle在线日志状态 3.检查Oracle表空间状态 4.检查Oracle所有数据文件状态 5.检查Oracle数据库连接情况 6.检查Oracle表容量占用大小 7.检查Oracle备份 8.检查数据库表空间的使用情况 4.总结 1.目的 …...

Elasticsearch 第一期:基础的基础概念

前言 Elasticsearch&#xff08;弹性搜索&#xff09; &#xff0c;简称为ES&#xff0c; 它是一个开源的高扩展的分布式全文检索引擎&#xff0c;它提供的功能主要分为&#xff1a;实时存储&#xff0c;实时分析搜索&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服…...

MySQL数据库笔记(二)

第一章 单行函数 1.1 什么是函数 函数的作用是把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在SQL中使用函数,极大地提高了用户对数据库的管理效率。 1.2 定义 操作数据对象。 接受参数返回一个结果。 只对一行进行…...

谷歌邮箱:2024年最全使用指南及技巧

注册谷歌邮箱时遇到麻烦了吗&#xff1f;收件箱乱得让人头疼&#xff0c;找不到提升效率的方法&#xff1f;或者是在处理多个谷歌邮箱账户时感到手忙脚乱&#xff1f; 掌握Gmail邮箱的使用技巧是每个外贸人员都必须学会的&#xff0c;本文将提供一个实用的谷歌邮箱注册和使用指…...

工业设计初学者手册——第四部分:制造工艺

工业设计初学者手册 文章目录 工业设计初学者手册第四部分&#xff1a;制造工艺7. 常见制造工艺介绍7.1 传统制造工艺7.2 现代制造工艺 8. 材料选择与应用8.1 材料的基本分类与特性8.2 材料选择的原则8.3 环保材料的应用 总结 第四部分&#xff1a;制造工艺 7. 常见制造工艺介…...

Scala语言:大数据开发的未来之星 - 零基础到精通入门指南

前言 随着大数据时代的到来&#xff0c;数据量的急剧增长为软件开发带来了新的挑战和机遇。Scala语言因其函数式编程和面向对象的特性&#xff0c;以及与Apache Spark的完美协作&#xff0c;在大数据开发领域迅速崛起&#xff0c;成为该领域的新兴宠儿。本篇将从零基础开始&…...

Springboot整合Zookeeper分布式组件实例

一、Zookeeper概述 1.1 Zookeeper的定义 Zookeeper是一个开源的分布式协调服务&#xff0c;主要用于分布式应用程序中的协调管理。它由Apache软件基金会维护&#xff0c;是Hadoop生态系统中的重要成员。Zookeeper提供了一个高效且可靠的分布式锁服务&#xff0c;以及群集管理…...

Python | 使用Matplotlib生成子图的示例

数据可视化在分析和解释数据的过程中起着举足轻重的作用。Python中的Matplotlib库提供了一个强大的工具包&#xff0c;用于制作各种图表和图表。一个突出的功能是它能够在单个图中生成子图&#xff0c;为以组织良好和结构化的方式呈现数据提供了有价值的工具。使用子图可以同时…...

云原生巡检监控报告

一、巡检概述 本次云原生巡检工作主要围绕云原生平台的稳定性、安全性以及性能进行&#xff0c;通过对平台资源的监控、日志分析以及安全扫描&#xff0c;发现了一些潜在的问题和隐患。巡检工作采用了自动化工具和人工分析相结合的方式&#xff0c;确保了巡检结果的准确性和全…...

Linux系统编程——部分内容补充

回顾 进程 内核相关数据结构 代码和数据&#xff0c;一个可执行程序加载到内存变成进程&#xff0c;不仅仅是把代码和数据加载进去就完事了&#xff0c;得“先描述&#xff0c;再组织”&#xff0c;每个进程都有内核数据结构&#xff0c;地址空间&#xff0c;进程相关页表&a…...

数学建模基础:非线性模型

目录 前言 一、非线性方程组 二、非线性规划 三、微分方程模型 四、非线性模型的应用 五、实例示范&#xff1a;传染病传播模型 实例总结 五、总结 前言 非线性模型用于描述变量之间的非线性关系&#xff0c;相比线性模型&#xff0c;其数学形式更为复杂&#xff0c;但…...

Kotlin 语言基础学习

什么是Kotlin ? Kotiln翻译为中文是:靠他灵。它是由JetBrains 这家公司开发的,JetBrains 是一家编译器软件起家的,例如常用的WebStorm、IntelliJ IDEA等软件。 Kotlin官网 JetBrains 官网 Kotlin 语言目前的现状: 目前Android 已将Kotlin 作为官方开发语言。 Spring 框…...

Kafka 之 KRaft —— 配置、存储工具、部署注意事项、缺失的特性

目录 一. 前言 二. 配置&#xff08;Configuration&#xff09; 2.1. 处理者角色&#xff08;Process Roles&#xff09; 2.2. 控制器&#xff08;controller&#xff09; 2.3. 存储工具&#xff08;Storage Tool&#xff09; 2.4. 调试&#xff08;Debugging&#xff09…...

专业和学校到底怎么选,兴趣和知名度到底哪个重要?

前言 2024高考已经落下帷幕&#xff0c;再过不久就到了激动人心的查分和填报志愿的时刻&#xff0c;在那天到来&#xff0c;小伙伴们就要根据自己的分数选取院校和专业&#xff0c;接下来我就以参加22年(破防年)河南高考的大二生来讲述一下我自己对于如何选取院校和专业的看法以…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...