问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java: asm.jar中的ClassReader方法执行时找不到类---Class not found

发布网友 发布时间:2022-05-16 20:50

我来回答

3个回答

热心网友 时间:2024-03-02 00:30

类加载器不同 ,java 系统编译的时候 类加器是默认的 appclassloader,而tomcat 启动的时候 类加载器 是 webappclassloader 由于类加载器不同导致class not found
你用 System.out.println("加载器系统:"+ClassLoader.getSystemClassLoader());
System.out.println("加载器tomcat:"+Test.class.getClassLoader());
分别输出 类加载器类型 ;就可知道;
解决办法:我想了一个别的方式,不用类名用 流的方式
cr = new ClassReader(TFitler.class.getClassLoader().getResourceAsStream("com.Test".replace('.', '/') + ".class"));
这样就能找到类,不会报错!

热心网友 时间:2024-03-02 00:31

【A:JavaProject中的运行结果】  你这副图:你看它导入的是哪一个包里面的ClassReader,先声明,这个包不是在asm-5.0.3.jar ;我刚看了这个jar,包名是这个org.objectweb.asm。


在java项目中的那个ClassReader 你这样用 new ClassReader("com.test")有用,但是到web里面你用的就是asm-5.0.3.jar中的ClassReader ,这时候你new ClassReader("com.test")就有问题了!

这是asm里面的构造函数:

  public ClassReader(String paramString)
    throws IOException
  {
    this(a(ClassLoader.getSystemResourceAsStream(paramString.replace('.', '/') + ".class"), true));
  }

  你看它做的事!  对于com.test,它会把“.”替换成“/”,然后+“.class”,这时候你哪里有这个类啊!

追问【A:JavaProject中的运行结果】这幅图确实是导入了asm的jar。

从构造函数来看,是不是这个方法不能在WEB上应用了?
无论怎样,谢谢你的认真回答!

热心网友 时间:2024-03-02 00:31

你应该给报错信息。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么打电话给别人,显示无法接通? 我给对方打电话时,他那边响一声后就提示无法接通是什么情况? iPhone 6Plus相机远距离无法对焦,得用力摇几下才恢复,过会又模糊,什么... iphone6plus。近拍清楚,远拍模糊,怎么回事?聚焦不了。 怎么办~ 廉锦枫《廉锦枫》——剧情分析 我想取个好听的英文名字,而且希望是有意义的`拜托了各位谢谢 不锈钢公司取名带匠字文化深厚的企业名称大全 带匠字的厂名 公司名字为什么不可以带匠字 我儿子刚上一年级老师给我发微信时表现不错我怎么和老师沟通 java asm 怎么打印list数据 java 的ASM字节码编辑如果替换方法中的类名 java asm label获取调用方法 索尼3和佳能m50对比 请问用3dmax怎么做图里的旋转楼梯 急!!!关于使用ASM进行JAVA字节码操作的问题 java 用asm如何调用某个类的某个方法 美特兰红葡萄酒2011多少钱一瓶? damana红酒多少钱一瓶? 电脑屏幕下方出现了黑影,开关机时都有,截图却没有,而且黑影面积一天比一天大,卖电脑的说进水了,是吗 法国乐郎莎纳德红酒多少钱一瓶 液晶显示器进水出现黑斑 液晶显示器进水了,任务栏部位出现了黑斑!咋办? 拉姆世家红酒多少钱一瓶 《奥特曼》中,从昭和到平成,有哪些演员已经离世?最好附上图 海关估价标准,海关审价依据是什么? 咸蛋超人的扮演者死了么?就是最初代的那个奥特曼 杰克奥特曼的演员去世了吗 数控机床上的plc编程如何去学习 曾经演奥特曼的演员现在死了么?艾斯里面的和泰罗里面的。 漫游时连接到移动数据网络什么意思 我的手机移动网络设置里有一个数据漫游(漫游时连接到数据服务)。这个是干什么的,要不要选? 漫游时连接到数据服务是什么意思 手机设置的SIM卡管理里有个“漫游时连接到数据”,是啥意思?解释稍微详细一点。 我开通了国际/港澳台漫游功能,还要另外开通流量服务吗? spring 框架 3.0 中 asm jar包 的作用是什么? 关于java asm 3.0 字节码框架 项目报错java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit java报错问题 asm是不是C语言关键字! java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor 各位大神怎么解决 双击文件提示***(path) 拒绝访问 启动jetty时报java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor错误.我没找到asm-2.2.3 java.lang.NoClassDefFoundError: org/objectweb/asm/AnnotationVisitor 运行某个从网上下的网站报错 包皮手术怎么做,软的做还是勃起了做 尺子的尺是几画 请问现在的包皮手术是怎么做的?风险大吗?希望是真心的回答 呵呵 尺共几画第三画这么写 现在包皮手术怎么做啊 传统包皮手术是怎么样的?