【发布时间】:2010-07-16 07:16:34
【问题描述】:
我能否以编程方式在我的 java 代码中使用 Eclipse 插件(使其独立于 eclipse)?
【问题讨论】:
标签: java eclipse eclipse-plugin plugins
我能否以编程方式在我的 java 代码中使用 Eclipse 插件(使其独立于 eclipse)?
【问题讨论】:
标签: java eclipse eclipse-plugin plugins
是的,如果:
您要使用的插件没有任何外部依赖 => 它只是一个库插件
您要使用的插件及其所有依赖项都在您的类路径中
在所有其他情况下都没有。因为许多插件至少使用了 OSGI/Equinox 的核心概念(有一个激活器),所以在独立的 Java 应用程序中使用它们将非常困难。
例如,SWT 可以在 eclipse 之外使用。
【讨论】:
你应该看看你的 eclipse 目录。在 plugins 文件夹中,您会发现很多 .jar 文件。当然,您可以在项目中使用这些作为依赖项。
【讨论】:
是的,当然,您只需要在项目中正确部署插件的 jar 文件即可。
【讨论】:
Eclipse 插件是 OSGi 包。
OSGi 包是 JAR 文件,在声明导出和导入的 META-INF 中有额外信息。他们有时会调用 OSGi API。
许多 Eclipse 插件依赖于其他 Eclipse 特定的插件。
如果您在您的环境中使用 OSGi,您可以轻松地重用那些没有 Eclipse 依赖项的插件。如果您的应用程序不是 OSGi,您只能轻松地重用那些避免直接使用 OSGi API 的应用程序。
【讨论】:
精心设计的插件分为 UI 和“核心”部分。您可能只想获取核心组件。您可能还需要提供一个 OSGi 框架来正确加载和激活插件 - 取决于它的复杂程度。
正如其他人也提到的,不要忘记依赖关系。
【讨论】: