【问题标题】:JBoss Fuse unable to install bundel with maven installJBoss Fuse 无法使用 maven install 安装包
【发布时间】:2018-07-15 17:18:18
【问题描述】:

我在 Eclipse 中创建了 maven 项目,以向 JBoss Fuse 公开 rest web 服务,并使 maven 干净并安装,并在此路径中的 maven 本地存储库中创建包:

C:\Users\mohamed.mostafa\.m2\repository\com\javainuse\apache-camel-jaxrs\0.0.1-SNAPSHOT

我想用这个命令把这个包安装到 jboss fuse:

JBossFuse:karaf@root>install mvn:com/javainuse/apache-camel-jaxrs/0.0.1-SNAPSHOT

请帮帮我...

给我无法安装捆绑包com/javainuse/apache-camel-jaxrs/0.0.1-SNAPSHOT

【问题讨论】:

    标签: java maven esb


    【解决方案1】:

    这应该在 etc 文件夹中可用的 org.ops4j.pax.url.mvn.cfg 配置中进行配置。

    您用于安装的语法错误。它应该如下所示。

    JBossFuse:karaf@root>install mvn:<groupId>/<artifactId>/<version>
    

    例子:

    JBossFuse:karaf@root>install mvn:com.javainuse/apache-camel-jaxrs/0.0.1-SNAPSHOT
    

    此外,从何处安装也很重要如果您使用 nexus,则可以使用如下所示的内容。

    org.ops4j.pax.url.mvn.repositories = http://someurl.com/nexus/content/groups/public@snapshots
    

    如果你想使用本地 maven repo。

    用于避免下载的本地 maven 存储库的路径 当它们已经在本地存在时。 此属性的值将从 settings.xml 文件中提取 以上,或默认为: System.getProperty("user.home") + "/.m2/repository"

     org.ops4j.pax.url.mvn.defaultLocalRepoAsRemote = true
     org.ops4j.pax.url.mvn.localRepository= Path of Local maven Repo
    

    【讨论】:

      【解决方案2】:

      要使用 Maven 为 JBoss FUSE 创建一个 OSGi 包,您应该将 maven-bundle-plugin 添加到您的 pom.xml 中,并将包装类型设置为 bundle

      <packaging>bundle</packaging>
      ...
      <build>
        <plugins>
          <plugin>
              <groupId>org.apache.felix</groupId>
              <artifactId>maven-bundle-plugin</artifactId>
              <extensions>true</extensions>
              <version>2.3.7</version>
          </plugin>
        </plugins>
      </build>
      

      要使您的包可用于 JBoss FUSE,请构建工件并将其安装到您的本地 Maven 存储库中:

      mvn -DskipTests=true clean install
      

      要使用 Apache ServiceMixApache Karaf 在 JBoss FUSE 中安装 OSGi 包,您可以从其 shell 运行以下命令:

      JBossFuse:karaf@root> osgi:install -s mvn:<groupId>/<artifactId>/<version>
      

      你会看到:

      Bundle ID: //some identifier here
      

      参数-s 允许自动启动捆绑包。

      JBoss FUSE 还提供了一个 Web 管理控制台,位于:

      http://localhost:8181/hawtio
      

      除其他外,您还可以管理您的捆绑包。

      重要提示:如documentation中所述,

      如果您的本地 Maven 存储库存储在非标准位置, 您可能需要自定义 org.ops4j.pax.url.mvn.localRepository 中的属性 InstallDir/etc/org.ops4j.pax.url.mvn.cfg 文件,才可以使用 访问 Maven 工件的 mvn: 方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 2015-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多