java - 将外部 JAR 添加到 Eclipse 应用程序调试配置

标签 java debugging eclipse-plugin classpath

问题如下:

  1. 我安装并运行了第 3 方 Eclipse 插件

  2. 上面的 Eclipse 插件提供了某种“扩展点”——我可以在插件 lib 目录中扩展/重写和替换的类的源代码(我并不是说这是个好主意,但必要性使我们去做我们不引以为豪的事情——内部开发有其怪癖)

  3. 这里的想法是将任何此类更改包含在外部 JAR(由我们创建)中,这样代码中的任何更改都不需要我们重新启动 Eclipse 以在开发过程中“刷新”“扩展点”类.

  4. 最终,将创建一个插件/ bundle 并将其作为对原始插件的依赖项 - 这样安装和使用该插件实际上就可以正常工作。

问题是 - 我能否以某种方式将基本上是外部 JAR 文件的内容添加到 Eclipse 应用程序调试/运行配置中?

通常,将 JAR 添加到类路径选项卡可用于常规 Java 应用程序调试/运行。然而,Eclipse 应用程序没有该选项卡。

到目前为止的努力(失败,可能是由于一些愚蠢的语法错误或诸如此类)包括:

  1. 将 JAR 作为依赖项添加到插件的 Bundle-ClassPath: 作为 C:\test.jar
  2. 将 JAR 添加到系统的 CLASSPATH 变量

这些都没有任何区别 - 引用 JAR 文件中类的“扩展点”中的代码失败 - 异常归结为:

Caused by: java.lang.ClassNotFoundException: test.Test
at org.eclipse.osgi.internal.loader.BundleLoader.
     findClassInternal(BundleLoader.java:506)

任何指点/帮助/批评将不胜感激。

更新

显然将 JAR 放在插件的 lib 目录中并更新 MANIFEST 文件不起作用(这对我没有帮助 - 因为这样的解决方案需要“刷新”,我试图避免这种情况首先),所以我一定是在做一些根本性的错误。

这是否有意义,或者我是否在其中一次尝试中遗漏了什么?

最佳答案

我已将一个外部 JAR 文件包含到我的 Eclipse 应用程序中.....不是包含在调试/运行配置中,而是包含在应用程序本身中。

我们所做的是将插件包装到它自己的 java 项目中。我们正在使用 maven 进行构建,因此 pom.xml 将依赖项列为 .jar 文件(我们将其放入项目的 lib 目录中)。 manifest.mf 文件导出所需的类。我的应用程序插件依赖于这个项目。当我在工作台中调试/运行应用程序时,我只需确保包含此库项目。

我不确定这是否完全回答了您的问题....但我希望它有所帮助。

关于java - 将外部 JAR 添加到 Eclipse 应用程序调试配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874137/

相关文章:

c# - 调试异步ASP.NET Web API Controller 在“任务”窗口中显示 "No tasks to display"

iphone - 仪器如何自动停止工作?

ios - 如何调试以 NSException 类型的未捕获异常终止

java - Eclipse 插件 - 访问编辑器

java - 全新的 Eclipse 插件项目充满了错误

java - 多线程 Android 应用程序中的组件应该如何交互?

java - JPA 将实体的多对多字段值替换为不同的值

java - 'com.itextpdf.text.exceptions.InvalidPdfException : PDF header signature not found' when reading the input stream from servlet

java - 嵌套引用对象持续为 null

eclipse - 如何找到 Eclipse IDE 中安装的 Scala 版本?