我有一个Eclipse RAP产品,我喜欢导出为Tomcat内部使用的Web应用程序。为此,我在Eclipse中使用warproduct导出器,直到现在,它都工作正常。使用OSGi捆绑包导出Eclipse RAP战争与外部捆绑路径
我在编译产品中的一个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文件,但是我们有更多的jar文件,我们希望在我们早期的Tomcat应用程序和更新的基于RAP的应用程序之间共享。我们知道,还有其他的在这种情况下共享罐子的方式 - 例如通过OSGi框架扩展器或web.xml
中的extendedFrameworkExports
初始化参数 - 但我们需要选择的方法,因为我们使用EMF,因此无法在Tomcat和Eclipse之间共享EMF元数据...因此,类对象...)
现在报道https://bugs.eclipse.org /bugs/show_bug.cgi?id=372945 – 2012-03-01 08:30:36