【深度分析】报错:com.sun.org.apache.regexp.internal does not exist

2024-09-06 11:36

本文主要是介绍【深度分析】报错:com.sun.org.apache.regexp.internal does not exist,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 问题
  • 分析思路
    • 这个类在哪里?
    • 本地能跑,Jenkins 上不能跑?
    • JDK 把这个 package 删掉了?
    • JDK 啥时候把 package 删掉了?
      • 翻阅 JDK8 Release Notes
      • 查阅 Jakarta-regexp
      • 查阅 bug 说明
  • 解决
  • 参考

问题

项目本地 mvn clean install 打包都正常,但是到 jenkins 中打包就会报错。

报错信息:package com.sun.org.apache.regexp.internal does not exist

代码中引入的类:import com.sun.org.apache.regexp.internal.RE

分析思路

这个类在哪里?

首先,我们确定下这个类是干啥的,来自哪里。

直接在 IDEA 中定位,发现代码是 jdk 自带的。

那为啥本地能跑,Jenkins 上不能跑?

本地能跑,Jenkins 上不能跑?

原因:JDK 版本不一致。

    这篇关于【深度分析】报错:com.sun.org.apache.regexp.internal does not exist的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


    原文地址:
    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1141894

    相关文章

    MySQL中的LENGTH()函数用法详解与实例分析

    《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

    Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

    《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

    怎样通过分析GC日志来定位Java进程的内存问题

    《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

    深度解析Java DTO(最新推荐)

    《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

    深度解析Java项目中包和包之间的联系

    《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

    MySQL中的表连接原理分析

    《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

    深度解析Python装饰器常见用法与进阶技巧

    《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

    深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

    《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

    深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

    《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

    python中Hash使用场景分析

    《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,