【发布时间】:2014-03-13 23:00:09
【问题描述】:
我试图在 Eclipse 中运行一个使用 java RMI 的项目,但是当我运行它时,它给了我以下错误:
java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
asm-3.1.jar 库已经在项目类路径中,如果我尝试导入该类 org.objectweb.asm.ClassVisitor,它是正确的。因此,问题出现在运行时。
有什么建议吗?
谢谢
编辑(Eclipse 类路径文件):
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="lib" path="lib/asm-3.1.jar"/>
<classpathentry kind="lib" path="lib/asm-analysis-3.1.jar"/>
<classpathentry kind="lib" path="lib/asm-commons-3.1.jar"/>
<classpathentry kind="lib" path="lib/asm-tree-3.1.jar"/>
<classpathentry kind="lib" path="lib/asm-util-3.1.jar"/>
<classpathentry kind="lib" path="lib/asm-xml-3.1.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.4.jar"/>
<classpathentry kind="lib" path="lib/java-cup-11a.jar"/>
<classpathentry kind="lib" path="lib/jdom.jar"/>
<classpathentry kind="lib" path="lib/jmockit_B.jar"/>
<classpathentry kind="lib" path="lib/jode-1.1.2-pre1.jar"/>
<classpathentry kind="lib" path="lib/junit-4.6.jar"/>
<classpathentry kind="lib" path="lib/junit-4.9b2.jar"/>
<classpathentry kind="lib" path="lib/ModifiedClasses.jar"/>
<classpathentry kind="lib" path="lib/tools.jar"/>
<classpathentry kind="lib" path="lib/uispec4j-2.4-jdk16.jar"/>
<classpathentry kind="lib" path="lib/uispec4j-jdk6-2.0.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
【问题讨论】:
-
可能在运行时您使用的 JRE 的版本
-
不,这是不可能的,因为我使用的是最新的 1.7 JRE。
-
您能否在运行 rmi 服务器时发布您在运行时使用的类路径?
-
是的,我刚刚将我的 Eclipse 类路径文件的内容添加到我的第一篇文章中。你有什么奇怪的地方吗?
-
你如何运行你的应用程序?使用 Eclipse 运行配置?如果是,您应该将 jars 添加到运行时类路径配置中(检查其“打开启动配置”)