gpt4 book ai didi

Eclipse 类路径和 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-04 19:45:36 26 4
gpt4 key购买 nike

我将尝试在这里提供尽可能多的细节,如果有些不相关,请原谅我。我在 Eclipse 中有两个项目。项目 1:com.myworkplace.parent,代码在同名包中。项目 2:com.myworkplace.child,代码在同名包中(我将我的代码从默认包移到那个包,如果有区别的话)。据我所知,两者都位于我的工作区文件夹中,并且按照您期望的方式构建。

我已经使用 Java Build Path -> Projects -> Add 将 child 添加到 eclipse 中 parent 的构建路径。父级的 .classpath 文件包含条目:

    <classpathentry combineaccessrules="false" kind="src" path="/com.myworkplace.child"/>

我在父类中添加对 com.myworkplace.child.Child 类的引用,导入它,编译它没有错误,运行并得到:

java.lang.NoClassDefFoundError: com/myworkplace/child/Child

什么给了?

编辑:父应用程序是一个 RCP 应用程序,也许是 OSGI(我真的不太了解 RCP 和相关的东西。)一些谷歌搜索让我相信它可能与此有关。

最佳答案

由于您的应用程序是 RCP 应用程序,因此在您编辑代码时使用的 eclipse 类路径与在运行时使用的 OSGi 类路径之间存在差异。听起来您需要将 com.myworkplace.child 插件添加到 com.myworkplace.parent 插件的依赖项列表中。

在父项目中打开 plugin.xml 或 META-INF/manifest.mf。 Eclipse 应该打开 PDE 插件编辑器(底层配置文件的基于表单的编辑器)。单击底部的 Dependencies 选项卡并将您的子插件添加到表单左侧部分的“Required Plug-ins”列表中。或者,您可以将 com.myworkplace.child 包添加到右侧的“导入包”列表中。两者之间的区别超出了这个答案的范围,但是您现在(希望)正在朝着正确的方向前进,因此您可以在 eclipse 文档中阅读相关内容。

关于Eclipse 类路径和 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com