没有所有 eclipse 包的 Equinox p2?

Equinox p2 without all the eclipse bundles?

是否可以在简单的 java 应用程序中使用 equinox p2 而无需所有 eclipse 内容?

因为我从 osgi、equinox 和 equinox p2 包开始,现在添加 osgi 包已经一个多小时了。每次我尝试 运行 该程序时,都会出现另一个依赖项。

我现在已经有 109 个包,其中包括很多 eclipse 包。是否有更简单的方法来找出所需的最低 Equinox p2 捆绑包?

最小的一致的 equinox OSGi 和 p2 集是通过 OSGi 初学者工具包提供的。试试看。从 Equinox Stable Build: Mars 单击三角形 OSGi 初学者工具包 并下载适合您平台的版本。

在启动配置中的插件或捆绑包选项卡中按添加所需捆绑包按钮。然后按“验证”按钮以确保您没有因无法解析的依赖关系而导致的剩余错误。

您可能想查看 bndtools. In Bndtools, we area building a p2 repository in our CI build Bndtools 本身(Bndtools 是使用 Bndtools 构建的 Eclipse 插件,不使用 PDE)。 Neil Bartlett 花了很多时间来让它工作,我认为他不需要 109 个捆绑包...

我在 p2 上遇到了同样的问题 - 找出最小的 p2 包集。这是我想出的(部分MANIFEST.MF):

 org.eclipse.equinox.p2.artifact.repository;bundle-version="1.1.300",
 org.eclipse.equinox.p2.core;bundle-version="2.3.0",
 org.eclipse.equinox.p2.director;bundle-version="2.3.100",
 org.eclipse.equinox.p2.discovery;bundle-version="1.0.300",
 org.eclipse.equinox.p2.engine;bundle-version="2.3.0",
 org.eclipse.equinox.p2.metadata;bundle-version="2.2.0",
 org.eclipse.equinox.p2.metadata.repository;bundle-version="1.2.100",
 org.eclipse.equinox.p2.operations;bundle-version="2.4.0",
 org.eclipse.equinox.p2.repository;bundle-version="2.3.0",
 org.eclipse.equinox.p2.touchpoint.eclipse;bundle-version="2.1.200",
 org.eclipse.equinox.p2.touchpoint.natives;bundle-version="1.1.100",
 org.eclipse.equinox.frameworkadmin,
 org.eclipse.equinox.frameworkadmin.equinox;bundle-version="1.0.500",
 org.eclipse.equinox.simpleconfigurator

此代码已有大约 7 个月的历史,因此现在某些捆绑包版本可能有所不同。