3

我目前正在使用 Netbeans 7.1 开发一个 maven osgi 包。虽然从 netbeans 创建新的 maven osgi bundle 项目很容易,但我一直在为如何运行它而苦苦挣扎。简单地从 netbeans 运行它会给我一个错误,告诉我缺少要求(例如缺少 slf4j)。

然后我尝试了另一种方法。我在终端中运行了 Equinox,然后手动将我的项目 jar 安装到它。但是我还必须手动解决所有依赖项。

有没有办法从 OSGI 包中自动下载所有必需的依赖项并将其安装到正在运行的 OSGI 框架中?

谢谢之前

4

2 回答 2

1

AFAIK Netbeans 中的 OSGi 没有自动化(尽管我可能错了)。您可能在 Eclipse 中看到的支持仅适用于 Eclipse 插件而不是普通的 OSGi。

您最好的选择是进行一些集成测试或通过 maven 目标、pax-exambndtools 启动,甚至pax-runner将允许您从 IDE/maven 启动。

但是我不知道有什么会自动解决所有依赖项(传递依赖项和您所依赖的 API 的实现会有问题)

于 2012-04-24T16:47:17.133 回答
1

这是一个很大的痛苦,毫无疑问。我以前做的是做一个完整的构建(如果你已经正确配置了你的清单应该包括所有必要的依赖项),这将生成必要的 jar。然后我连接我的 Tomcat 以从我的目标存储库中获取 jar,并将其配置为自动热插拔。

如果您想从您的 netbeans 中运行您的应用程序服务器,这是一个偏好问题,但我更喜欢在我的 IDE 之外执行一个单独的 tomcat 实例。无论哪种方式,它都会起作用。

于 2012-04-24T16:50:28.913 回答