2010-10-12 93 views
1

我试图把GWT Eclipse项目放到Bundle-Jar文件中。 为此,我必须将war文件夹添加到捆绑包中。问题是GWT编译器在war/WEB-INF/classes文件夹中添加了所有* .class文件。 BND尝试在jar文件中添加所有* .class文件,但它们在项目中的路径错误。那就是问题所在!因此,我在我的BND文件中寻找正确的Include-Resource:属性。从包中排除子目录; Include-Resource在BND文件

是否有人有一个想法,我可以从Include-Resource表达式中排除特殊文件。

它工作,如果我删除每个类的子文件夹。但几秒钟后,GWT SDK将生成这些类。

非常感谢

塞巴斯蒂安

回答

0

请检查:http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html#ApacheFelixMavenBundlePlugin%28BND%29-Instructions

<出口型包装> ...有可能通过启动 包装模式,以排除使用否定包与'!'。因此,非否定模式指示哪些 可用包要包含在 中,而否定模式 指示哪些不应包含在捆绑中的 。

你也可以检查这个项目:“http://bitbucket.org/MikhailKotelnikov/projecttemplate”。它是一个简单的OSGi/GWT应用程序的模板。 在这里,我做的所有GWT依赖的类像往常一样的编译/包装,但我增加了以下说明为BND工具:

DynamicImport-Package: * 
Import-Package: *;resolution:=optional 

在这种情况下BND认为,这些包会由OSGi environmet在提供运行时间和它正确地完成这项工作。

+1

我实际上不鼓励使用这两条指令。 DynamicImport-Package实际上可以让你吮吸框架中可用的任何包,而且它确实是应该在所有其他方法失败时才使用的。添加解析对于导入来说是可选的,同样棘手,在这里你会说:“嘿,我可以使用或不使用这些软件包,我的软件包会处理这个问题”当我怀疑你的情况时,如果这些导入实际上不能解决,代码将失败,类没有发现异常。 – 2010-12-09 22:25:37

相关问题