Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 2. Creating a New Fuse Project

Overview

The tooling uses Maven archetypes to generate a project with all of the dependencies preconfigured. The archetypes also create the POM file needed to run and deploy your application, as well as sample code and data to get you started.

Procedure

To create a Fuse project:
  1. Select FileNewFuse Project to open the New Fuse Project wizard shown in Figure 2.1, “New Fuse Project Wizard's Project Location Page”.

    Figure 2.1. New Fuse Project Wizard's Project Location Page

    project location page of Red Hat JBoss Fuse Tooling's new project wizard
    The wizard opens with the Use default workspace location option selected on the location page.
  2. Specify the location where the data for the project will be stored.
    • To use the default workspace select Use default workspace location.
    • To use an alternative location deselect Use default workspace location and specify a new location in the provided field.
      Clicking Browse button opens a file browser.
  3. If you want to add the new project to an Eclipse working set, select Add project(s) to working set and enter the name of the working set.
  4. Click Next button to open the New Fuse Project details page shown in Figure 2.2.

    Figure 2.2. New Fuse Project wizard's details page

    project details page of Fuse new project wizard
  5. Select a project type from the list.
    Note
    The route editor works with these project types:
    • camel-cxf-code-first-archetype
      Creates a new Apache Camel project using Apache CXF code (Java) first.
    • camel-cxf-contract-first-archetype
      Creates a new Apache Camel project using Apache CXF contract (WSDL) first.
    • camel-drools-archetype
      Creates a new Apache Camel project that uses the Drools rule engine.
    • camel-webservice-archetype
      Creates a new Apache Camel web services project.
    • camel-archetype-activemq
      Creates a new Apache Camel project that configures and interacts with Apache ActiveMQ.
    • camel-archetype-blueprint
      Creates a new Apache Camel project with support for OSGi blueprint that is deployment-ready for OSGi.
    • camel-archetype-component
      Creates a new Apache Camel component.
    • camel-archetype-cxf-code-first
      Creates a new Apache Camel project with Apache CXF code-first example using OSGi Blueprint.
    • camel-archetype-cxf-contract-first
      Creates a new Apache Camel project with Apache CXF contract-first example using OSGi Blueprint.
    • camel-archetype-dataformat
      Creates a new Apache Camel data format.
    • camel-archetype-java
      Creates a new Apache Camel project using Java DSL.
      You cannot edit Java DSL in the route editor.
    • camel-archetype-spring
      Creates a new Apache Camel project with added support for Spring DSL.
    • camel-archetype-spring-dm
      Creates a new Apache Camel project with added support for Spring DSL that is deployment-ready for OSGi.
    • camel-archetype-web
      Creates a new Apache Camel web project that deploys the Camel routes as a WAR.
    • camel-archetype-webconsole
      Creates a new Apache Camel project that deploys the Apache Camel Web Console, REST API, and your routes as a WAR.
    • cxf-jaxrs-service
      Creates a simple CXF JAX-RS web application service using Spring configuration.
    • cxf-jaxws-javafirst
      Creates a project for developing a Web service starting from Java code.
  6. Enter a group ID for the project in the Group Id field, or accept the default.
    The tooling uses the group ID to form the first part of the dot-separated package name. For example, if you enter Demo for the group ID, it appears in the Package field as Demo..
  7. Enter an artifact ID for the project in the Artifact Id field, or accept the default.
    The tooling uses the artifact ID as the name of the project and to form the second part of the dot-separated package name. For example, if you enter BigRoute for the artifact ID, it appears in the Package field as Demo.BigRoute.
  8. Enter a version for the project in the Version field, or accept the default.
  9. If you want to change the package name generated for the artifacts, enter the new package name in the Package field.
  10. Click Finish to create the Maven project, which contains starting point artifacts.

Resolving Maven dependency errors

You may encounter Maven dependency errors after you create a new Fuse project.
Though it can happen at other times, it more typically occurs when you create a project based on any of the supplied archetypes for the first time, but then cancel the project before the process finishes. Interrupting the process in this way often prevents all of the project's dependencies from downloading from the Maven repositories, which can take some time.
You can often easily resolve these dependency errors by updating Maven dependencies this way:
  1. In Project Explorer, select the root project just created.
  2. Right-click it to open the context menu.
  3. Select MavenUpdate Project...
  4. In the Update Maven Project wizard, check Force Update of Snapshots/Releases.
  5. Click OK.
    In the bottom, right corner of the workbench, you may see the progress status bar churning as missing dependencies are downloaded from the Maven repositories.

Related topics

New Fuse Project