Using Maven to automate tasks for Liberty
Apache Maven is a software project management tool based on the concept of a project object model (POM). You can use the Maven plug-in provided by Liberty to manage the server and applications.
Before you begin
The Maven plug-in for Liberty is located in
the WebSphere® Application
Server Developer Community (WASdev) Maven repository. If you want
to use the Maven plug-in for Liberty, you must make sure the WASdev
plug-in repository is specified in the pom.xml file of your project. The following example shows how to configure
this repository and enable liberty-maven-plugin in
your project.
<project>
...
<pluginRepositories>
<!-- Configure WASdev repository -->
<pluginRepository>
<id>WASdev</id>
<name>WASdev Repository</name>
<url>http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/maven/repository/</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
...
<build>
<plugins>
<!-- Enable liberty-maven-plugin -->
<plugin>
<groupId>com.ibm.websphere.wlp.maven.plugins</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>1.0</version>
<!-- Specify configuration, executions for liberty-maven-plugin -->
...
</plugin>
</plugins>
</build>
...
</project>
The Liberty Maven plug-in must be
configured with the Liberty server installation information.
The installation information can be specified as an existing installation
directory, a compressed archive, or as a Maven artifact.
- Configure with existing installation directory. Use the serverHome parameter to specify the directory of an existing Liberty server installation. For example:
... <plugin> <groupId>com.ibm.websphere.wlp.maven.plugins</groupId> <artifactId>liberty-maven-plugin</artifactId> <version>1.0</version> <configuration> <serverHome>/opt/ibm/wlp</serverHome> </configuration> </plugin> ...
- Configure with compressed archive. Use the assemblyArchive parameter to specify a compressed archive that contains Liberty server files. For example:
... <plugin> <groupId>com.ibm.websphere.wlp.maven.plugins</groupId> <artifactId>liberty-maven-plugin</artifactId> <version>1.0</version> <configuration> <assemblyArchive>/opt/ibm/wlp.zip</assemblyArchive> </configuration> </plugin> ...
- Configure with Maven artifact name. Use the assemblyArtifact parameter to specify the name of the Maven artifact that contains Liberty server files. For example:
For more information on installing Liberty server as a Maven artifact, see Installation as a Maven artifact.... <plugin> <groupId>com.ibm.websphere.wlp.maven.plugins</groupId> <artifactId>liberty-maven-plugin</artifactId> <version>1.0</version> <configuration> <assemblyArtifact> <groupId>com.ibm.ws.liberty.test</groupId> <artifactId>liberty-test-server</artifactId> <version>1.0</version> <type>zip</type> </assemblyArtifact> </configuration> </plugin> ...
About this task
You can use the provided Maven plug-in to create, start, stop, and package a Liberty server, and test your application on Liberty. Each task is represented by a specific goal in Maven.