0

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

我在编译产品中的一个 OSGi 包时遇到问题,因为它指的是一组使用变量替换的外部 jar。这显示在来自 a 的以下片段中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 文件。我们知道,还有其他共享 jar 文件的方式在这种情况下 - 例如通过 OSGi 框架扩展器或extendedFrameworkExports初始化参数web.xml- 但我们需要选择的方法,因为我们使用 EMF,因此无法在 Tomcat 和 Eclipse 之间共享 EMF 元数据......因此不是类对象...... )

4

1 回答 1

2

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

干杯霍尔格

于 2012-02-29T08:48:16.113 回答