博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于javassist.NotFoundException
阅读量:6424 次
发布时间:2019-06-23

本文共 1058 字,大约阅读时间需要 3 分钟。

hot3.png

javassist可以用于反射获取方法参数名称,项目中用到,测试用例通过,当发布到tomcat时报错
javassist.NotFoundException: xxx.xxx.xxxService
ClassPool pool = ClassPool.getDefault(); CtClass cls = pool.get(clazz.getName());    // 此处报异常
javassist官网对此有如下说明:
The default ClassPool returned by a static method ClassPool.getDefault() searches the same path that the underlying JVM (Java virtual machine) has. If a program is running on a web application server such as JBoss and Tomcat, the ClassPoolobject may not be able to find user classes since such a web application server uses multiple class loaders as well as the system class loader. In that case, an additional class path must be registered to the ClassPool.
解决此异常的方法:
1.(推荐)
ClassPool pool = ClassPool.getDefault();   ClassClassPath classPath = new ClassClassPath(this.getClass());   pool.insertClassPath(classPath);
2.
ClassPool pool = ClassPool.getDefault();   pool.appendClassPath("E:\\xxx\\xxx\\target\\xxx_war\\WEB-INF\\lib\\xxx_jar-0.0.1-SNAPSHOT.jar");
更多参见: 
Getting Started with Javassist

转载于:https://my.oschina.net/idiotsky/blog/208734

你可能感兴趣的文章
python实现登录查询(可以模糊查询)
查看>>
LAMP架构(apache用户认证,域名重定向,apache访问日志)
查看>>
PHP设计模式:原型模式
查看>>
struts2.0的json操作
查看>>
SQL注入神器——sqlmap
查看>>
Unity导航 (寻路系统Nav Mesh Agent)
查看>>
SaltStack配置语法-YAML和Jinja
查看>>
运用免费OA让你有意想不到的效果
查看>>
一些软件设计软则
查看>>
Linux运维基础命令
查看>>
使用PowerShell配置IP地址
查看>>
第十一章 MySQL运算符
查看>>
JAVA常见算法题(十七)
查看>>
GUI鼠标相关设置
查看>>
使用 <Iframe>实现跨域通信
查看>>
闭包--循序学习
查看>>
项目实战之集成邮件开发
查看>>
解决C3P0在Linux下Failed to get local InetAddress for VMID问题
查看>>
1531 山峰 【栈的应用】
查看>>
巧用美女照做微信吸粉,你会做吗?
查看>>