【问题标题】:Exporting Eclipse RAP war with OSGi bundles with external bundle-path使用带有外部包路径的 OSGi 包导出 Eclipse RAP 战争
【发布时间】:2012-02-27 19:49:47
【问题描述】:

我有一个 Eclipse RAP 产品,我喜欢导出为 Web 应用程序以在 Tomcat 中使用。为此,我在 Eclipse 中使用了 warproduct 导出器,到目前为止它运行良好。

我在编译产品中的一个 OSGi 包时遇到问题,因为它指的是一组使用变量替换的外部 jar。这显示在来自MANIFEST.MF 的以下片段中:

Bundle-Name: ...
Bundle-SymbolicName: ...
Bundle-ClassPath2: external:/A/test1/jakarta-tomcat/shared/lib/a_base.jar
Bundle-ClassPath: external:$A_HOME$/jakarta-tomcat/shared/lib/a_base.jar

如果我使用第一个类路径并使用正确的/A/test1/jakarta-tomcat/shared/lib/a_base.jar,那么在编译过程中一切都很好......我什至可以在之后手动将MANIFEST.MF 更改为正确的版本。

但是,如果可能的话,我真的很想避免这个额外的步骤!

我认为问题是如何在编译期间为A_HOME 传递一个正确的值?

(为什么这样做?上面,我只是展示了一个 jar 文件,但是我们想要在旧的 Tomcat 应用程序和新的基于 RAP 的应用程序之间共享大量的 jar 文件。我们知道,还有其他方法在这种情况下共享 jars - 例如通过 OSGi 框架扩展器或 web.xml 中的 extendedFrameworkExports 初始化参数 - 但我们需要选择的方法,因为我们使用 EMF,因此无法在 Tomcat 和 Eclipse 之间共享 EMF 元数据......因此不是类对象...)

【问题讨论】:

标签: eclipse export osgi eclipse-rap


【解决方案1】:

WAR 产品工具目前不支持此功能。我建议打开一个针对 Eclipse Libra 的错误并定义他们的功能请求。无论如何,我们已经创建了一个如何使用 tycho 构建 RAP 应用程序的示例,非常简单,也许你想看看:https://github.com/eclipsesource/rap-mobile-demos

干杯霍尔格

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-14
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多