Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 3. Configuring the Maven settings.xml file for the online repository
You can use the online Maven repository with your Maven project by configuring your user settings.xml
file. This is the recommended approach. Maven settings used with a repository manager or repository on a shared server provide better control and manageability of projects.
When you configure the repository by modifying the Maven settings.xml
file, the changes apply to all of your Maven projects.
Procedure
Open the Maven
~/.m2/settings.xml
file in a text editor or integrated development environment (IDE).NoteIf there is not a
settings.xml
file in the~/.m2/
directory, copy thesettings.xml
file from the$MAVEN_HOME/.m2/conf/
directory into the~/.m2/
directory.Add the following lines to the
<profiles>
element of thesettings.xml
file:<!-- Configure the Maven repository --> <profile> <id>red-hat-enterprise-maven-repository</id> <repositories> <repository> <id>red-hat-enterprise-maven-repository</id> <url>https://maven.repository.redhat.com/ga/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>red-hat-enterprise-maven-repository</id> <url>https://maven.repository.redhat.com/ga/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile>
Add the following lines to the
<activeProfiles>
element of thesettings.xml
file and save the file.<activeProfile>red-hat-enterprise-maven-repository</activeProfile>
3.1. Creating a Spring Boot business application from Maven archetypes
You can use Maven archetypes to create business applications that use the Spring Boot framework. Doing this by-passes the need to install and configure Red Hat Process Automation Manager. You can create a business asset project, a data model project, or a service project:
Prerequisites
- Apache Maven 3.5 or higher
Procedure
Enter one of the following commands to create your Spring Boot business application project. In these commands, replace business-application
with the name of your business application:
To create a business asset project that contains business processes, rules, and forms:
mvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=kie-kjar-archetype -DarchetypeVersion=7.67.0.Final-redhat-00024 -DgroupId=com.company -DartifactId=business-application-kjar -Dversion=1.0-SNAPSHOT -Dpackage=com.company
This command creates a project which generates
business-application-kjar-1.0-SNAPSHOT.jar
.To create a data model asset project that provides common data structures that are shared between the service projects and business assets projects:
mvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=kie-model-archetype -DarchetypeVersion=7.67.0.Final-redhat-00024 -DgroupId=com.company -DartifactId=business-application-model -Dversion=1.0-SNAPSHOT -Dpackage=com.company.model
This command creates a project which generates
business-application-model-1.0-SNAPSHOT.jar
.To create a dynamic assets project that provides case management capabilities:
mvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=kie-kjar-archetype -DarchetypeVersion=7.67.0.Final-redhat-00024 -DcaseProject=true -DgroupId=com.company -DartifactId=business-application-kjar -Dversion=1.0-SNAPSHOT -Dpackage=com.company
This command creates a project which generates
business-application-kjar-1.0-SNAPSHOT.jar
.To create a service project, a deployable project that provides a service with various capabilities including the business logic that operates your business, enter one of the following commands:
Business automation covers features for process management, case management, decision management and optimization. These will be by default configured in the service project of your business application but you can turn them off through configuration. To create a business application service project (the default configuration) that includes features for process management, case management, decision management, and optimization:
mvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=kie-service-spring-boot-archetype -DarchetypeVersion=7.67.0.Final-redhat-00024 -DgroupId=com.company -DartifactId=business-application-service -Dversion=1.0-SNAPSHOT -Dpackage=com.company.service -DappType=bpm
Decision management covers mainly decision and rules related features. To create a decision management service project that includes decision and rules-related features:
mvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=kie-service-spring-boot-archetype -DarchetypeVersion=7.67.0.Final-redhat-00024 -DgroupId=com.company -DartifactId=business-application-service -Dversion=1.0-SNAPSHOT -Dpackage=com.company.service -DappType=brm
Business optimization covers planning problems and solutions related features. To create a Red Hat build of OptaPlanner service project to help you solve planning problems and solutions related features:
mvn archetype:generate -B -DarchetypeGroupId=org.kie -DarchetypeArtifactId=kie-service-spring-boot-archetype -DarchetypeVersion=7.67.0.Final-redhat-00024 -DgroupId=com.company -DartifactId=business-application-service -Dversion=1.0-SNAPSHOT -Dpackage=com.company.service -DappType=planner
These commands create a project which generates
business-application-service-1.0-SNAPSHOT.jar
.In most cases, a service project includes business assets and data model projects. A business application can split services into smaller component service projects for better manageability.
3.2. Configuring an Red Hat Process Automation Manager Spring Boot project for the online Maven repository
After you create your Red Hat Process Automation Manager Spring Boot project, configure it with the online Maven Repository to store your application data.
Prerequisites
- You have a Spring Boot business application service file that you created using the Maven archetype command. For more information, see Section 3.1, “Creating a Spring Boot business application from Maven archetypes”.
Procedure
-
In the directory that contains your Red Hat Process Automation Manager Spring Boot application, open the
<BUSINESS-APPLICATION>-service/pom.xml
file in a text editor or IDE, where<BUSINESS-APPLICATION>
is the name of your Spring Boot project. Add the following repository to the
repositories
element:<repository> <id>jboss-enterprise-repository-group</id> <name>Red Hat JBoss Enterprise Maven Repository</name> <url>https://maven.repository.redhat.com/ga/</url> <layout>default</layout> <releases> <updatePolicy>never</updatePolicy> </releases> <snapshots> <updatePolicy>daily</updatePolicy> </snapshots> </repository>
Add the following plug-in repository to the
pluginRepositories
element:NoteIf your
pom.xml
file does not have thepluginRepositories
element, add it as well.<pluginRepository> <id>jboss-enterprise-repository-group</id> <name>Red Hat JBoss Enterprise Maven Repository</name> <url>https://maven.repository.redhat.com/ga/</url> <layout>default</layout> <releases> <updatePolicy>never</updatePolicy> </releases> <snapshots> <updatePolicy>daily</updatePolicy> </snapshots> </pluginRepository>
Doing this adds the productized Maven repository to your business application.
3.3. Downloading and configuring the Red Hat Process Automation Manager Maven repository
If you do not want to use the online Maven repository, you can download and configure the Red Hat Process Automation Manager Maven repository. The Red Hat Process Automation Manager Maven repository contains many of the requirements that Java developers typically use to build their applications. This procedure describes how to edit the Maven settings.xml
file to configure the Red Hat Process Automation Manager Maven repository.
When you configure the repository by modifying the Maven settings.xml
file, the changes apply to all of your Maven projects.
Prerequisites
- You have created a Red Hat Process Automation Manager Spring Boot project.
Procedure
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required) and then select the following product and version from the drop-down options:
- Product: Process Automation Manager
- Version: 7.13.5
-
Download Red Hat Process Automation Manager 7.13 Maven Repository (
rhpam-7.13.5-maven-repository.zip
). - Extract the downloaded archive.
-
Change to the
~/.m2/
directory and open the Mavensettings.xml
file in a text editor or integrated development environment (IDE). Add the following lines to the
<profiles>
element of the Mavensettings.xml
file, where<MAVEN_REPOSITORY>
is the path of the Maven repository that you downloaded. The format of<MAVEN_REPOSITORY>
must befile://$PATH
, for examplefile:///home/userX/rhpam-7.13.5.GA-maven-repository/maven-repository
.<profile> <id>red-hat-enterprise-maven-repository</id> <repositories> <repository> <id>red-hat-enterprise-maven-repository</id> <url><MAVEN_REPOSITORY></url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>red-hat-enterprise-maven-repository</id> <url><MAVEN_REPOSITORY></url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile>
Add the following lines to the
<activeProfiles>
element of the Mavensettings.xml
file and save the file.<activeProfile>red-hat-enterprise-maven-repository</activeProfile>
If your Maven repository contains outdated artifacts, you might encounter one of the following Maven error messages when you build or deploy your project, where <ARTIFACT_NAME>
is the name of a missing artifact and <PROJECT_NAME>
is the name of the project you are trying to build:
-
Missing artifact <PROJECT_NAME>
-
[ERROR] Failed to execute goal on project <ARTIFACT_NAME>; Could not resolve dependencies for <PROJECT_NAME>
To resolve the issue, delete the cached version of your local repository located in the ~/.m2/repository
directory to force a download of the latest Maven artifacts.