Deploying your Application

Now that you have an application assembly, you’ll want to share it with as many people as possible! So, it is now time to deploy your application assembly.

Currently Maven supports several methods of deployment, including simple file-based deployment, SSH2 deployment, SFTP deployment, FTP deployment, and external SSH deployment. In order to deploy, you need to correctly configure your distributionManagement element in your POM, which would typically be your top-level POM, so that all child POMs can inherit this information. Here are some examples of how to configure your POM via the various deployment mechanisms.

Deploying to the File System

To deploy to the file system you would use something like the following:

<project>
    [...]
        <distributionManagement>
            <repository>
                <id>proficio-repository</id>
                <name>Proficio Repository</name>
                <url>file://${basedir}/target/deploy</url>
            </repository>
        </distributionManagement>
    [...]
</project>

Deploying with SSH2

To deploy to an SSH2 server you would use something like the following:

<project>
    [...]
        <distributionManagement>
            <repository>
                <id>proficio-repository</id>
                <name>Proficio Repository</name>
                <url>scp://sshserver.yourcompany.com/deploy</url>
            </repository>
        </distributionManagement>
    [...]
</project>

Deploying with SFTP

To deploy to an SFTP server you would use something like the following:

<project>
    [...]
    <distributionManagement>
        <repository>
            <id>proficio-repository</id>
            <name>Proficio Repository</name>
            <url>sftp://ftpserver.yourcompany.com/deploy</url>
        </repository>
    </distributionManagement>
    [...]
</project>

Deploying with an External SSH

Now, the first three methods illustrated are included with Maven, so only the distributionManagement element is required, but to use an external SSH command to deploy you must configure not only the distributionManagement element, but also a build extension.

<project>
    [...]
    <distributionManagement>
        <repository>
            <id>proficio-repository</id>
            <name>Proficio Repository</name>
            <url>scpexe://sshserver.yourcompany.com/deploy</url>
        </repository>
    </distributionManagement>
    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh-external</artifactId>
                <version>1.0-alpha-6</version>
            </extension>
        </extensions>
    </build>
    [...]
</project>

The build extension specifies the use of the Wagon external SSH provider, which does the work of moving your files to the remote server. Wagon is the general purpose transport mechanism used throughout Maven.

Deploying with FTP

To deploy with FTP you must also specify a build extension. To deploy to an FTP server you would use something like the following:

<project>
    [...]
    <distributionManagement>
        <repository>
            <id>proficio-repository</id>
            <name>Proficio Repository</name>
            <url>ftp://ftpserver.yourcompany.com/deploy</url>
        </repository>
    </distributionManagement>
    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ftp</artifactId>
                <version>1.0-alpha-6</version>
            </extension>
        </extensions>
    </build>
    [...]
</project>

Once you have configured your POM accordingly, and you are ready to initiate deployment, simply execute the following command:

mvn deploy

Thank you for requesting a Maestro evaluation! This is our passion, and we want you to be successful. Please let us know how we may help!

Please enter your name, company email address and phone, and we will send you a link to your pre-built hosted evaluation within minutes.






I have read and agree to the Terms and Conditions.