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:
            ...
            <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>
            ...
    For more information on installing Liberty server as a Maven artifact, see Liberty: Installation as a Maven artifact.

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.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: Saturday, 3 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dev_maven
File name: twlp_dev_maven.html