Java / Eclipse 中的 NoClassDefFound:如何对另一个项目进行干净、简单的引用?

问题描述 投票:0回答:2

我一直在寻找这个问题。但是,我找不到任何好的解释或如何实际解决这个问题。

问题是,然后我在项目中添加项目引用,它不会给我任何编译时错误。但是,当我在主项目中使用引用的项目时,我得到了

java.lang.NoClassDefFoundError

对我来说,这太疯狂了。如果我添加项目引用,我希望该项目在运行时可用。显然不是。

我通过右键单击项目 --> 属性 --> 项目 --> 添加它,然后添加工作区中的项目。

不,我真的不想将引用的项目导出到 JAR 并导入该文件,因为这意味着每次更改引用的项目时都必须导入它。

添加项目然后完成它应该很容易 - 就像在 Visual Studio 中一样。我错过了什么?

java eclipse reference project
2个回答
1
投票

看来我发现问题了。

“MiscLibrary”(我从 MainProject 引用的项目)引用了另一个外部 JAR。如果它没有也导入到 MainProject 中,我会收到那些奇怪的错误。

这很糟糕 1)我可以编译它,没有任何错误或警告! 2)在运行时,错误消息没有表明我缺少对另一个库的引用。相反,它说找不到 MiscLibrary,而实际上问题是 MiscLibrary 中缺少外部库...


0
投票

您还应该链接源,而不是添加项目引用或可能同时添加项目引用。

  • 右键单击您当前的项目
  • 选择java构建路径
  • 在第一个选项卡上,单击链接源按钮并导航到其他项目的
    src
    文件的根目录,
  • 选择源目录,即包目录之前的目录
  • 保存、清理并构建。

编辑

如果做不到这一点,

“源”选项卡旁边有一个“项目”选项卡,尝试在那里添加项目。

© www.soinside.com 2019 - 2024. All rights reserved.