看以下情景:
在一个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` 是 Java 开发过程中常见的运行时异常,通常发生在尝试加载某个类时,系统无法在指定的类路径(ClassPath)中找到对应的 `.class` 文件。本文将深入探讨 `ClassNotFoundException` 的原因、...
protected Class<?> findClass(String name) throws ClassNotFoundException { byte[] classData = loadClassData(name); return defineClass(name, classData, 0, classData.length); } private byte[] ...
然而,在开发过程中,开发者经常遇到各种问题,其中一种常见的问题是`ClassNotFoundException`。这个异常通常表明Java虚拟机(JVM)在尝试加载一个类时无法找到对应的.class文件。 在标题中提到的"Eclipse plugin...
在Java编程语言中,`ClassNotFoundException`是一个非常常见的运行时异常,它属于`java.lang.ClassNotFoundException`,当Java虚拟机(JVM)试图动态加载一个类并无法找到对应的.class文件时,就会抛出这个异常。...
在Java服务器页面(JSP)开发中,可能会遇到`ClassNotFoundException`异常,这通常是由于系统无法找到或加载指定的类导致的。此异常通常与类路径配置、库引用或JDBC驱动有关。以下是一些解决此类问题的有效方法: ...
Java中的`ClassNotFoundException`异常通常表示在尝试加载特定类时,JVM无法找到对应的字节码文件。这个异常可能由多种原因引起,但在本场景中,它与Java 9引入的模块系统及其对Java EE API的影响密切相关。 在Java...
然而,"ClassNotFoundException"是一个常见的Java运行时异常,通常表示系统无法找到你尝试加载的类。在这个场景下,这个问题可能源于多个原因,主要涉及到项目的构建配置、依赖管理以及运行环境的差异。 首先,我们...
在Java编程中,`ClassNotFoundException` 是一个常见的运行时异常,通常发生在尝试加载特定类时,JVM无法找到对应类的定义。在这个特定的情景中,错误提示 "java.lang.ClassNotFoundException: ...
在Java编程中,`java.lang.ClassNotFoundException`是一个常见的运行时异常,它表示JVM尝试加载一个类时,找不到对应的.class文件。在这个特定的错误中,我们看到的是`org.apache.commons.dbcp.BasicDataSource`,这...
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> ``` 3. **重启应用**:完成上述更改后,重新启动应用服务器,看是否还存在异常。 4. **调试和日志**...
"java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver" 解决方案 [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 解决了jsp连接 sql server 2000的问题
"Android Caused by: java.lang.ClassNotFoundException解决办法" 在 Android 开发中,ClassNotFoundException 是一个常见的异常,它通常发生在应用程序启动或运行时。这个异常的出现告诉我们,Java 虚拟机无法找到...
在Java编程中,`ClassNotFoundException` 是一个常见的运行时异常,通常发生在尝试加载类时,Java虚拟机(JVM)无法找到对应的字节码文件。在本例中,问题聚焦于 "org.jdom.input.SAXBuilder" 类,这涉及到Java的...
在Java编程中,`java.lang.ClassNotFoundException` 是一个常见的运行时异常,通常发生在尝试通过类加载器加载指定类时,但找不到对应的字节码文件。在这个特定的问题中,`ClassNotFoundException` 引发的原因是缺少...
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ....... 二、正确的解决姿势 1. 是否添加了mysql驱动 在pom.xml文件中添加mysql驱动依赖项: <groupId>mysql <artifactId>mysql-connector-...
System.out.println("Loaded and initialized class with custom ClassLoader: " + clazz.getName()); } catch (ClassNotFoundException e) { e.printStackTrace(); } ``` #### 六、总结 通过以上介绍,我们可以...
在Java的Swing库中,Look and Feel(简称LookAndFeel)是一种设计工具,它允许开发者改变应用程序的用户界面外观,使其适应不同的操作系统或个人喜好。"使用lookandfeel为界面更换皮肤"这一主题主要涉及到以下几个...
在Java编程中,`ClassNotFoundException` 是一个常见的运行时异常,表示尝试加载某个类时,在类路径中找不到对应的`.class`文件。在这个特定的场景中,异常堆栈跟踪显示 `Caused by: java.lang....