当前位置: 首页 > 知识库问答 >
问题:

apache felix (osgi)中的集成xero(发票网关)

洪祺
2023-03-14

我有一个项目与多模块在karaf(版本3.0.3),我需要添加一个依赖Xero API(发票网关)-https://github.com/XeroAPI/Xero-Java

我通过felix apache使用OSGI实现。在模块中,我向Xero添加了所有依赖项,这些依赖项位于pom波纹管中。

啪.xml

  <dependency>
    <groupId>com.github.xeroapi</groupId>
    <artifactId>xero-java</artifactId>
    <version>${xero-java.version}</version>
  </dependency>
  <dependency>
    <groupId>com.github.xeroapi</groupId>
    <artifactId>xeroapi-schemas</artifactId>
    <version>${xero-schemas.version}</version>
  </dependency>
  <dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>${jaxb-api.version}</version>
  </dependency>
  <dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>${jaxb-core.version}</version>
  </dependency>
  <dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>${jaxb-impl.version}</version>
  </dependency>
  <dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>${javax-activation.version}</version>
  </dependency>
  <dependency>
    <groupId>org.threeten</groupId>
    <artifactId>threetenbp</artifactId>
    <version>${threetenbp.version}</version>
  </dependency>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <Import-Package>!com.google.api.client.http,*</Import-Package>
            <Embed-Dependency>com.google.api.client.http</Embed-Dependency>
          </instructions>
        </configuration>
      </plugin>

所有实现都已部署和编译,但在运行karaf时我遇到了下一个错误。

对数卡拉夫

2019-07-19 15:44:19,812|ERROR|lixDispatchQueue|FeatureDeploymentListener|22-org.apache.felix.framework-4.2.1.jar-3.0.3|无法安装功能org.apache.felix.framework.util.EventDispatcher.fireEventImmediately:无法启动捆绑mvn:EventDispatcher.java:789在功能org.apache.felix.framework-4.2.1.jarbll-impl[368]:无法解决368.0:缺少需求[368.0]org.apache.felix.framework.util.EventDispatcher.run;(EventDispatcher.java:1088=org.apache.felix.framework-4.2.1.jar)在org.apache.felix.framework.util.EventDispatcher.access(EventDispatcher.java:54)[21:org.apache.felix.framework-4.2.1.jar: 3.0.3]在org.apache.felix.framework.util.EventDispatcher(1.run)[21:EventDispatcher.java:101: 3.0.3]在Proxya6f8789a_dbdc_4181_b0eb_837248e8cb78.installFeatures(未知来源)[:]在Proxycbafeabb_12c9_47e3_94d6_f999d20117fa.installFeatures(未知来源)[:]在org.apache.karaf.deployer.features.FeatureDeploymentListener.bundleChanged(FeatureDeploymentListener.java:213)[22:org.apache.karaf.deployer.features: 3.0.3]在org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868)[org.apache.karaf.deployer.features:]在java.lang.Exception(com.xtpo.im/im-bll-impl/0.2-SNAPSHOT)[com.xtpo.im.im:]在osgi.wiring.package(osgi.wiring.package)[com.google.api.client.http:]在org.apache.karaf.features.internal.FeaturesServiceImpl.startBundle0美元(FeaturesServiceImpl.java:504)[org.apache.karaf.features.core:]在org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures$FeaturesServiceImpl.java:459(org.apache.karaf.features.core)[org. apache. felix. framed-4.2.1. jar:]在java. lang. Thread. run(Thread. java: 748)[: 1.8.0_211]原因:org. osgi. framework. BundleException: bundle com. xtpo. im. im-bll-impl[368]中的未解决约束:无法解析368.0:缺少需求[368.0]osgi. wire. pack;(osgi. wire. pack=com. google. api. client. http)在org. apache. felix. frame. Felix.分辨率BundleRvision(Felix. java: 3974)[org. apache. felix. framework. Felix. start Bundle:]在org. apache. felix. framework. Felix. start Bundle(Felix. java: 2037)[org. apache. felix. framework. BundleInp. start(BundleInp. java: 955)[org. apache. felix. framework. jar:]在org. apache. felix.

问题是com.google.api.client.http有人能帮我解决这个问题吗?

在文件功能中,我有以下依赖项:

features.xml

    <!--Xero dependencies-->
    <bundle>wrap:mvn:com.github.xeroapi/xero-java/${xero-java.version}</bundle>
    <bundle>wrap:mvn:com.github.xeroapi/xeroapi-schemas/${xero-schemas.version}</bundle>
    <bundle>wrap:mvn:javax.xml.bind/jaxb-api/${jaxb-api.version}</bundle>
    <bundle>wrap:mvn:com.sun.xml.bind/jaxb-impl/${jaxb-impl.version}</bundle>
    <bundle>wrap:mvn:javax.activation/activation/${javax-activation.version}</bundle>
    <bundle>wrap:mvn:org.threeten/threetenbp/${threetenbp.version}</bundle>

谢谢大家

共有1个答案

嵇出野
2023-03-14

Felix无法解析包< code > com . Google . API . client . http 。您必须部署包含该包的包,或者将它嵌入到您自己的包中。这个包可以从maven工件com.google.http-client获得:google-http-client。

您可以配置maven-bundle-plugin来嵌入编译范围的依赖项,并向上面链接的google http-client工件添加一个依赖项:

<dependency>
  <groupId>com.google.http-client</groupId>
  <artifactId>google-http-client</artifactId>
  <version>1.30.2</version>
</dependency>

可能需要对版本进行一些调整。请注意,该工件被打包为OSGi捆绑包,因此您也可以尝试下载它并将其与您自己的捆绑包一起部署到karaf(而不是嵌入它)。

 类似资料:
  • 在本章中,我们将研究如何在Drupal中生成发票。 发票是一份包含金额和成本,唯一发票编号和税务信息的单据。 以下是在Drupal中生成发票的步骤。 Step 1 - 下载Invoice模块的最新文件并安装在Drupal站点中。 Step 2 - 在模块中启用Invoice ,然后单击Save configuration 。 Step 3 - 转到Store --》 Invoices 。 Step

  • 我尝试将“上传到 Amazon S3”功能添加到我的捆绑包中。我在 bundle 的 pom 中添加了对 aws-java-sdk 的依赖性: 之后,我编辑了maven-bundle-plugin的配置: 但是当我尝试安装捆绑包时,我收到错误消息 缺少要求[447.74]OSGi . wiring . package;(OSGi . wiring . package = com . Amazon

  • 作用 支持普票、专票抬头获取,及按行程开票、按金额开票和电子发票下载 依赖 发票抬头需要在滴滴管理后台添加,然后可以通过普票、专票接口获取 开普票前需要通过普票抬头列表获取发票抬头 开专票前需要通过专票资质列表获取专票资质id 注意 所有接口调用时需要严格遵守请求方式(GET/POST) 使用接口前需要仔细阅读每个接口的注意事项 接口报错时先阅读通用错误解决方案和当前接口文档下的接口错误解决方案

  • 我遵循下面的示例来实现spring集成网关。 问题:无法从服务激活器发送的网关上获得响应。 网关应答通道是"最佳应答通道"。 服务激活器写入同一个通道。 所有的自定义方法都被执行,响应被组成,但是从来没有被发送出去。知道这里缺少什么吗?我的配置在流程中也有一个分散收集。

  • 我试图创建一个短信机器人使用Twilio,Aws API网关和Aws Lambda的帮助。 网址:https://xxxxxxx.execute-api.us-west-2.amazonaws.com/latest/ 参数fromcity=Moorestown&to=%2b18569246402&fromzip=08057&body=hello&toCountry=us&fromstate=nj&

  • 我需要为已更改订单的未付金额创建发票,并从内部web应用程序向客户发送发票。 用例:客户在我们的网站上订购并使用快速结帐付款我们的员工需要修改订单并使用内部CRM web应用程序收取差价 2个问题: > 这是用于此目的的正确API吗?创建并发送发票https://developer.paypal.com/webapps/developer/docs/classic/api/invoicing/Cr