Chapter 1. Creating a Maven project for a hello world application
A Maven project contains a pom.xml
configuration file and has the directory structure required for creating an application. You can configure the pom.xml
configuration file to add dependencies for your application.
To create a Maven project for a hello world application, follow these procedures:
1.1. Creating a Maven project with maven-archetype-webapp Copy linkLink copied to clipboard!
Use the maven-archetype-webapp
archetype to create a Maven project for building applications for JBoss EAP deployment. Maven provides different archetypes for creating projects based on templates specific to project types. The maven-archetype-webapp
creates a project with the structure required to develop simple web-applications.
Prerequisites
- You have installed Maven. For more information, see Downloading Apache Maven.
Procedure
Set up a Maven project by using the
mvn
command. The command creates the directory structure for the project and thepom.xml
configuration file.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Navigate to the generated directory.
cd helloworld
$ cd helloworld
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Open the generated
pom.xml
configuration file in a text editor. Remove the content inside the
<project>
section ofpom.xml
configuration file after the<name>helloworld Maven Webapp</name>
line.Ensure that the file looks like this:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The content was removed because it is not required for the application.
1.2. Defining properties in a Maven project Copy linkLink copied to clipboard!
You can define properties in a Maven pom.xml
configuration file as place holders for values. Define the value for JBoss EAP server as a property to use the value consistently in the configuration.
Prerequisites
You have initialized a Maven project.
For more informartion, see Initializing a Maven project for a JBoss EAP hello world application.
Procedure
Define a property
<version.server>
as the JBoss EAP version on which you will deploy the configured application.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. Defining the repositories in a Maven project Copy linkLink copied to clipboard!
Define the artifact and plug-in repositories in which Maven looks for artifacts and plug-ins to download.
Prerequisites
You have initialized a Maven project.
For more informartion, see Initializing a Maven project for a JBoss EAP hello world application.
Procedure
Define the artifacts repository.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Define the plug-ins repository.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. Importing the JBoss EAP BOMs as dependency management in a Maven project Copy linkLink copied to clipboard!
Import the JBoss EAP EE With Tools Bill of materials (BOM) to control the versions of runtime Maven dependencies. When you specify a BOM in the <dependencyManagement>
section, you do not need to individually specify the versions of the Maven dependencies defined in the provided
scope.
Prerequisites
You have initialized a Maven project.
For more informartion, see Initializing a Maven project for a JBoss EAP hello world application.
Procedure
Add a property for the BOM version in the properties section of the
pom.xml
configuration file.<properties> .... <version.bom.ee>${version.server}</version.bom.ee> </properties>
<properties> .... <version.bom.ee>${version.server}</version.bom.ee> </properties>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The value defined in the property
<version.server>
is used as the value for BOM version.Import the JBoss EAP BOMs dependency management.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. Adding plug-in management in a Maven project Copy linkLink copied to clipboard!
Add Maven plug-in management section to the pom.xml
configuration file to get plug-ins required for Maven CLI commands.
Prerequisites
You have initialized a Maven project.
For more informartion, see Initializing a Maven project for a JBoss EAP hello world application.
Procedure
Define the versions for
wildfly-maven-plugin
andmaven-war-plugin
, in the<properties>
section.<properties> ... <version.plugin.wildfly>4.1.1.Final</version.plugin.wildfly> <version.plugin.war>3.3.2</version.plugin.war> </properties>
<properties> ... <version.plugin.wildfly>4.1.1.Final</version.plugin.wildfly> <version.plugin.war>3.3.2</version.plugin.war> </properties>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add
<pluginManagement>
in<build>
section inside the<project>
section.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6. Verifying a maven project Copy linkLink copied to clipboard!
Verify that the Maven project you configured builds.
Prerequisites
You have defined Maven properties.
For more information, see Defining properties in a Maven project.
You have defined Maven repositories.
For more information, see Defining the repositories in a Maven project.
You have imported the JBoss EAP Bill of materials (BOMs) as dependency management.
For more information, see Importing the JBoss EAP BOMs as dependency management in a Maven project.
You have added plug-in management.
For more information, see Adding plugin management in Maven project for a server hello world application.
Procedure
Install the Maven dependencies added in the
pom.xml
locally.mvn package
$ mvn package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow You get an output similar to the following:
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ ...
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow