看以下情景:
在一个plugin-in中有一个类,其代码如下:
java 代码
- package org.bencode.learnrcp.plugin1;
-
- public class SimpleClassLoader {
-
- public static Class loadClass(String name) throws ClassNotFoundException {
- return Class.forName(name);
- }
- }
然后在另一个 plugin-in (rcp application) 中, (这个 plugin-in 依赖于上一个 plugin-in)
有以下代码片段:
java 代码
- package org.bencode.learnrcp.plugin2;
-
- public class ClassForLoad {
-
- }
在某一处:
java 代码
- Class c = SimpleClassLoader.loadClass("org.bencode.learnrcp.plugin2.ClassForLoad ");
这时候,运行 plugin2的时候,就会出现 ClassNotFoundException, 原因是 SimpleClassLoader 不会到 plugin2 中找... 至于具体的原因,这里先不说(下次专门讲一下, 我害怕打字,还想玩卡丁)。
这时候,我们可以用 Buddy Classloading 来解决, 它就是为了此类任务而存在的。
两步:
1. 在 plugin 1 的 MANIFEST.MF 中加上如下东东:
Eclipse-BuddyPolicy: registered
他是说,如果我找不到类,将会请求登记过的plugin的帮助。
2. 在 plugin 2 的 MANIFEST.MF 中加上如下东东:
Eclipse-RegisterBuddy: package org.bencode.learnrcp.plugin1
他是说,嘿,如果你找不到类,先别出错,试着到我这里看看。
分享到:
相关推荐
ClassNotFoundException终极解决办法 完美解决ClassNotFoundException,jar包在线查找库,在线下载库
JSP中ClassNotFoundException异常的解决办法.pdf 学习资料 复习资料 教学资源
这个是我调用百度定位SDK做的一个小案例,但是在我电脑上能够运行,在其他人的电脑上就会报错,出现ClassNotFoundException异常。
JSON转化时出现 java.lang.ClassNotFoundException: net.sf.ezmorph.MorpherRegistry
java 找不到指定类时发生的异常(ClassNotFoundException) java 找不到指定类时发生的异常(ClassNotFoundException)
NULL 博文链接:https://sw1982.iteye.com/blog/607325
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 而在 java 6/7 / 8 时关于这个API 都是捆绑在
"java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver" 解决方案 [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 解决了jsp连接 sql server 2000的问题
主要介绍了使用IDEA启动项目遇见ClassNotFoundException的正确解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
整个系统都没有错误,但是在发布运行后,控制台上却抛出了这样的异常: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
NULL 博文链接:https://chimpp55.iteye.com/blog/2344330
struts初学者的数据池配置出现java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource异常的解决办法
NULL 博文链接:https://redarmychen.iteye.com/blog/463864
Android Caused by: java.lang.ClassNotFoundException解决办法 出现问题: 08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system....
主要介绍了Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Caused by: java.lang.ClassNotFoundException: com.sun.org.apache.xml.internal.resolver.CatalogManager at java.net.URLClassLoader.findClass(URLClassLoader.java:434) at ...
【SpringBoot】Error: java.lang.ClassNotFoundException: org.wltea.analyzer.core.IKSegmenter报错明细问题分析后记 报错明细 IDEA SpringBoot集成hadoop运行... at java.net.URLClassLoader.findClass(URLClassLoade
解决AopConfigException类不存在。...Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.springframework.aop.framework.AopConfigException 解决方法是把这个文件放到WEB-INF文件夹下面