javassist 在 spring boot jar中启动报错:javassist.NotFoundException

2023-11-14

由于需要在Springboot项目中动态替换一个方法的实现,所以引入了javassist,然而在IDEA中开发时一切正常,但是java -jar启动就报错:Caused by: javassist.NotFoundException:

在stackoverflow: https://stackoverflow.com/questions/48437113/javassist-not-working-with-spring-boot-jar 看到有人遇到了同样的问题,大致就是两种启动方式使用不同的ClassLoader导致javassist默认的classpath中找不到对应的类,我们需要手动把当前的ClassLoader加载到ClassPool中,怎么做到这点呢,其实很简单,只需要一行代码:classPool.appendClassPath(new LoaderClassPath(Thread.currentThread().getContextClassLoader()));添加以后本地IDEA中开发也可以正常使用。完整代码如下:

ClassPool classPool = ClassPool.getDefault();
//将当前ClassLoader添加到ClassPath
classPool.appendClassPath(new LoaderClassPath(Thread.currentThread().getContextClassLoader()));
//Your Code...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javassist 在 spring boot jar中启动报错:javassist.NotFoundException 的相关文章

  • Spring安全“记住我”cookie在第一个请求中不可用

    我无法在登录请求后检索 Spring 记住我 cookie 但它在对受保护页面的下一个请求中工作正常 谁能告诉我怎样才能立即得到它 我在登录请求中设置了记住我的 cookie 但在 Spring 重定向回原始 受保护的 url 后无法检索它
  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 在 ContainerRequestFilter 中填充 spring request 作用域 bean

    我使用 jersey 1 13 和 spring 3 1 1 编写了一个在 tomcat 6 上运行的休息服务 在 tomcat 中 我使用一个领域来进行身份验证 在我的应用程序中 我需要当前用户 但我不想从每个资源中的球衣访问Securi
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 如何将 Jfreechart(饼图)添加到 netbeans 的面板中

    我正在使用 netbeans gui 编辑器 并且正在尝试添加一个本身位于内部框架中的 Jfreechart 并且这个内部框架我想将其添加到面板中 正如您在此图中看到的那样 抱歉 我无法直接发布图像 因为我新手 http www flick
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Java的-XX:+UseMembar参数是什么

    我在各种地方 论坛等 看到这个参数 并且常见的答案是它有助于高并发服务器 尽管如此 我还是找不到 sun 的官方文档来解释它的作用 另外 它是Java 6中添加的还是Java 5中存在的 顺便说一句 许多热点虚拟机参数的好地方是这一页 ht
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Java &= 运算符应用 & 或 && 吗?

    Assuming boolean a false 我想知道是否这样做 a b 相当于 a a b logical AND a is false hence b is not evaluated 或者另一方面 这意味着 a a b Bitwi
  • 没有 OAuth 的 Spring Security JWT

    最近我开始学习如何使用oauth 2 0 jwt配置spring boot 我有一个问题 是否可以使用spring boot security jwt避免oauth 2 0 是的 可以使用JWT无需使用标准化的功能OAuth 2 0 flo

随机推荐

  • 回答一位同学的来信

    由于个人隐私的原因 将这位同学的名字匿掉了 因为事先并未征求该同学的意见就将这封信贴了上来 如果该同学认为我侵犯了你的隐私请及时告知我 我会将这篇文章撤掉 之所以发表这篇文章是因为个人觉得它很有代表性 很有可能别的同学也正在为此事困扰着 希
  • 拦截一切的CoordinatorLayout Behavior

    原文地址 http jcodecraeer com a anzhuokaifa androidkaifa 2016 0224 3991 html 如果没有深入CoordinatorLayout 你注定无法在探索Android Design
  • Kibana环境安装及常用命令

    已成功起飞 将自己进大厂前花4w买的java全套教程 整整300集 现在拿出来分享给大家 拿走不谢 从入门到精通 学会即可就业 哔哩哔哩 bilibili 1 安装包解压 tar zxvf kibana 6 4 3 linux x86 64
  • 服务器虚拟cd,如何在VMware虚拟机上安装CD或DVD数据?

    如何在VMware ESX或ESXi里使用CD安装诸如Windows XP Windows Server或Linux这样的操作系统 知道这些是在新子虚拟机上获取操作系统及其应用的关键 对于我们这些使用了好些年服务器和桌面虚拟化的人来说 这些
  • [Python人工智能] 三十六.基于Transformer的商品评论情感分析 (2)keras构建多头自注意力(Transformer)模型

    从本专栏开始 作者正式研究Python深度学习 神经网络及人工智能相关知识 前一篇文章利用Keras构建深度学习模型并实现了情感分析 这篇文章将介绍Transformer基础知识 并通过Keras构建多头自注意力 Transformer 模
  • Qt之右键菜单实现

    最近在看C GUI Qt4部分其中有个例子对于扩展一个应用程序提供一个上下文菜单 Qt中的部件的弹出菜单 ContextMenu 依据ContextMenuPolicy的值的不同 有四种形式 一 默认菜单 此时 ContextMenuPol
  • Python 10(Socket网络编程 )

    本节内容 Socket介绍 参数介绍 基本实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 Socket网络编程 此部分内容涉及到 计算机网络相关知识 OSI七层网络模型 大概的流程如下 通信实
  • 合肥工业大学编译原理实验一词法分析

    基本思路 词法分析是对输入语句串中一个个单词符号进行分析 最后格式化输出种别码 类型 位置等信息 那么 就可以考虑一次读入一个字符将它们拼接成一个字符串 当碰到空格或者分界符 时 就把前面已读的字符串格式化输出 再输出当前分界符 然后再往后
  • ThreadLocal详解-ThreadLocal这一篇就够了

    ThreadLocal简介 ThreadLocal 用于存储当前线程的变量 对其他线程是隔离 ThreadLocal为每个线程提供 get 或 set 方法来创建独立初始化的变量副本 ThreadLocal实例通常是类中希望将状态与线程相关
  • postgresql学习笔记之归档堆积处理(亲测有用)

    一 跟归档相关的参数 1 查看是否开启归档模式 show archive mode 仅在已完成的wal段进行归档 如果强制归档 归档段文件大小也是16M 2 查看归档相关参数 show archive timeout 超过这个时长就必须归档
  • 《信号与系统学习笔记》—拉普拉斯变换(二)

    注 本博客是基于奥本海姆 信号与系统 第二版编写 主要是为了自己学习的复习与加深 一 用拉普拉斯变换分析与表征线性时不变系统 1 在拉普拉斯变换的范畴内 一般称H s 为系统函数或转移函数 线性时不变系统的很多性质都与系统函数在s平面的特性
  • 基于STM32WIFI远程监控电压电流表(二)电流检测电路

    电流检测电路 电流检测的原理 电流检测电路 1 低侧检测 2 高侧检测 应用电路 电流检测的原理 电路检测电路常用于 高压短路保护 电机控制 DC DC换流器 系统功耗管理 二次电池的电流管理 蓄电池管理等电流检测等场景 对于大部分应用 都
  • Augment Reality(AR)现实增强的原理

    这篇博客将介绍OpenCV Augment Reality AR 增强现实的基础知识 增强现实技术指利用真实世界中的环境 然后通过计算机生成的程序来增强这些环境 从而不断丰富环境 通常 这是通过视觉 听觉和触觉 触觉交互的某种组合来实现的
  • lua调用shell 脚本

    Lua中 os execute可以执行dos命令 但是返回的是系统状态码 默认输出 io popen 也可以执行dos命令 但是返回一个文件 eg 复制代码 代码如下 local t io popen svn help local a t
  • vim编辑器显示与取消行号

    显示行号 set nu 取消显示行号 set nonu
  • 浅析 spring 事件驱动

    1 ApplicationContext publishEvent 同步还是异步 为什么 先说结论 默认情况下同步的 即事件发布者会阻塞等待事件处理完成 这是因为Spring的设计初衷是为了保证事件的有序处理和事务的一致性 看下代码实现 p
  • python开发面向对象基础:人狗大战学面向对象

    一 通过函数写人狗大战这个故事 1 usr bin env python 2 coding utf 8 3 4 1 函数 人模子 5 def person name level life value 6 p dic 7 name name
  • C++专题:多态性与虚函数(详细!)

    目录 多态性的概念 虚函数 动态联编 晚绑定 和静态联编 早绑定 覆盖 重写 重载 隐藏 成员函数覆盖 重写 成员函数重载 成员函数隐藏 重定义 纯虚函数 抽象类 虚析构函数 限制构造函数 多态性是面向对象程序设计的重要特征之一 多态性机制
  • SQL及NoSQL学习系列1

    关系型数据库SQL 关系型数据库系统实现了关系模型 并用它来处理数据 关系模型在表中将信息与字段关联起来 也就是schemas 从而存储数据 这种数据库管理系统需要结构 例如表 在存储数据之前被定义出来 有了表 每一列 字段 都存储一个不同
  • javassist 在 spring boot jar中启动报错:javassist.NotFoundException

    由于需要在Springboot项目中动态替换一个方法的实现 所以引入了javassist 然而在IDEA中开发时一切正常 但是java jar启动就报错 Caused by javassist NotFoundException 在stac