【发布时间】:2019-08-11 10:59:36
【问题描述】:
我正在使用 OSGi (Fuse 7 / Karaf 4)
我之前在我的共享库中生成 WSDL 类,并将它们导出到服务层。
我现在正尝试转而导出 WSDL 本身,并在服务层生成类。
服务类和蓝图使用生成的类。
但我需要使用一个!在 Import-Package 中,因此 BND 不会尝试导入它们。
我希望它在 target/generated/src/main/java 中找到 Maven 构建的这些生成的类。
但是如果我查看 bundle jar,这些 CXF 生成的类不包括在内。
如何让 BND 将源包含在此文件夹中?
目前,我收到错误消息:
Caused by: java.lang.ClassNotFoundException: com.company.ObjectFactory not found by Service [374]
而且很公平,因为它不在罐子里。但是源代码在 /target/generated 下,编译都很好。
我尝试过的事情:
嵌入目录
包含-资源
build-helper-maven-plugin
【问题讨论】:
-
我不明白您为什么需要定义 Import-Package 排除规则。如果它们是在您的项目中生成的,则它们不会被导入。将您的 POM 添加到问题中,至少是构建部分,以便更容易评估问题。
-
因此,出于某种原因,我生成的文件未包含在 jar 包中。这是主要的奇怪之处。 (导入包的事情可能是一个红鲱鱼)。明天再看看。谢谢
-
所以,我删除了
部分,并修复了它:/
标签: java maven osgi bnd maven-bundle-plugin