【问题标题】:Embedding/Including generated sources with maven-bundle-plugin使用 maven-bundle-plugin 嵌入/包含生成的源
【发布时间】: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


【解决方案1】:

所以,这对我来说没有多大意义,但是,我删除了我的部分,这导致 wsdl 生成的源文件包含在包中。

【讨论】:

    猜你喜欢
    • 2010-11-25
    • 2011-06-18
    • 2012-10-25
    • 2019-06-25
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2015-06-12
    • 2017-06-15
    相关资源
    最近更新 更多