java - 我的构建路径正确,但是当我运行 eclipse 插件命令时,它找不到类

标签 java eclipse-plugin eclipse-jdt

我正在创建我的第一个 Eclipse 插件,它可以编译,一切都很好。但是当我运行 Eclipse 应用程序时,当我单击新的菜单选项来测试我的菜单命令时,我的插件使用的类来 self 必须包含在构建路径中的 jar,因为找不到引用的库 (ClassNotFoundException)。这些 jar 是 org.eclipse.jdt.core.[number] 和 org.eclipse.core.resources.[number]。到目前为止,只有 JDT 类抛出异常,要么是因为它没有到达其他 jar 中的任何类,要么是因为其他 jar 可以通过命令找到(我认为是后者)。

如何解决这个问题?

最佳答案

您的插件使用的所有 jar 都必须包含在您的插件中或者是另一个插件的一部分。永远不要只将东西放在插件的 Java 构建路径中。

对其他插件的引用必须列在插件的 MANIFEST.MF 文件的 Require-Bundle 条目中。您可以在 MANIFEST.MF 编辑器的“依赖项”选项卡的“必需插件”部分中设置这些。

org.eclipse.jdt.coreorg.eclipse.core.resources 都是插件,因此它们通常列在“Require-Bundle”中。

插件中的 jar 必须列在 MANIFEST.MF 的 Bundle-Classpath 条目中。在“类路径”部分的“运行时”选项卡上的 MANIFEST.MF 编辑器中设置这些。

您在插件中包含的 jar 也必须列在“build.properties”文件中。

关于java - 我的构建路径正确,但是当我运行 eclipse 插件命令时,它找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37146301/

相关文章:

java - 在 ArrayList Java 中搜索特定对象

java - 在并行执行模拟中找到正确的随机种子数

java - Eclipse工作区下的项目名称

android - Android SDK中的Eclipse Marketplace在哪里

java - 如何以编程方式使用 Intellij IDEA 代码格式化程序?

java - TreeSet 或 TreeMap - 按照说明

java - “Activity has leaked window that was originally added here”

java - RCP 导出的 EXE 显示 java 控制台

java - 适合存储java项目信息的数据结构

java - Eclipse:在 INewWizard 中使用 IStructuredSelection