此内容没有您所选择的语言版本。

Chapter 5. Migrate Maven Projects


Overview

JBoss Fuse has a JBoss Fuse BOM (Bill of Materials), which defines the versions of all the JBoss Fuse Maven artifacts. You can use the BOM to simplify migration of your Maven POM files. Instead of updating the version elements on each Maven dependency, all you need to do is to import the latest JBoss Fuse BOM, which defines default versions for all of the dependencies provided by JBoss Fuse.

JBoss Fuse BOM

The JBoss Fuse BOM is a parent POM that defines the versions for all of the Maven artifacts provided by JBoss Fuse. The JBoss Fuse BOM exploits Maven's dependency management mechanism to specify default versions for the Maven artifacts, so that it is no longer necessary to specify the artifact versions explicitly in your POM.

Current version of the JBoss Fuse BOM

The easiest way to discover the current version of the JBoss Fuse BOM is to examine one of the sample pom.xml files from the quickstarts examples. For example, in the InstallDir/quickstarts/eip/pom.xml file, you can find a line that defines the JBoss Fuse BOM version, as follows:
<project ...>
    ...
    <properties>
        ...
        <!-- the version of the JBoss Fuse BOM, defining all the dependency versions -->
        <jboss.fuse.bom.version>6.2.1.redhat-084</jboss.fuse.bom.version>
    </properties>
    ...
</project>

How to migrate Maven dependencies using the JBoss Fuse BOM

To migrate Maven dependencies using the JBoss Fuse BOM, open the Maven pom.xml file for your project and edit it as follows:
  1. Define the JBoss Fuse BOM version as a property in your pom.xml file, using the current BOM version. For example:
    <project ...>
        ...
        <properties>
            ...
            <jboss.fuse.bom.version>6.2.1.redhat-084</jboss.fuse.bom.version>
        </properties>
        ...
    </project>
  2. Reference the JBoss Fuse BOM parent POM in a dependencyManagement element, so that it defines default versions for the artifacts provided by JBoss Fuse. Add the following dependencyManagement element to your pom.xml file:
    <project ...>
        ...
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.fuse.bom</groupId>
                    <artifactId>jboss-fuse-parent</artifactId>
                    <version>${jboss.fuse.bom.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
        ...
    </project>
  3. Now delete all of the version elements in your JBoss Fuse dependencies. All of the versions defined in the JBoss Fuse BOM will be applied automatically to your dependencies (through the Maven dependency management mechanism). For example, if you already had some Apache Camel dependencies, as follows:
      <dependencies>
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-core</artifactId>
     <version>2.15.1.redhat-621084</version>
        </dependency>
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-blueprint</artifactId>
     <version>2.15.1.redhat-621084</version>
        </dependency>
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-jetty</artifactId>
     <version>2.15.1.redhat-621084</version>
        </dependency>
        ...
      </dependencies>
    You would delete the version elements, so that the dependencies are specified as follows:
      <dependencies>
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-core</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-blueprint</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-jetty</artifactId>
        </dependency>
        ...
      </dependencies>
  4. In future, when you migrate to a later version of JBoss Fuse, all that you need to do to upgrade your pom.xml file is to edit the jboss.fuse.bom.version property, so that it references the new version of the JBoss Fuse BOM.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.