wagon-maven-plugin

wagon-maven-plugin

<dependency>  
    <groupId>org.codehaus.mojo</groupId>  
    <artifactId>wagon-maven-plugin</artifactId>  
    <version>1.0</version>  
</dependency>

主要提供如下几个goal

使用前需要在build中加入

<build>
    [...]
    <extensions>  
        <extension>  
            <groupId>org.apache.maven.wagon</groupId>  
            <artifactId>wagon-ssh</artifactId>  
            <version>2.8</version>  
        </extension>  
    </extensions> 
    [...]
</build>

文件上传到服务器

Maven项目可使用mvn package指令打包,打包完成后包位于target目录下,要想在远程服务器上部署,首先要将包上传到服务器。 在项目的pom.xml中配置wagon-maven-plugin插件:

单个文件

多个文件

fromDir是要上传的文件所在的目录 includes是要上传的文件的规则 excludes是无需上传的文件的规则 toDir是上传到服务器的所在目录 fromFile是要上传到服务器的文件,一般来说是jar或者war包 url配置服务器的用户、密码、地址以及文件上传的目录。

配置完成后,运行命令:

packagewagon:upload-single分别对项目进行打包和上传操作。命令运行结束后,文件就会成功上传到Linux服务器。

在服务器上执行Linux命令

部署项目不仅要把包传上服务器,而且还需要执行一些指令来启动程序。在程序启动之前,可能还需要将原来的程序关闭。

运行jar文件

启动jar包通常会使用java -jar test.jar命令,可以将命令配置在pom.xml中:

配置完成后,运行命令:

packagewagon:upload-singlewagon:sshexec分别对项目进行打包、上传、运行command命令的操作。命令运行结束后,在服务器上查看进程ps -ef|grep test.jar,或者查看nohup.out文件,就可以看到Java程序在服务器上已经启动。

上传war包并启动Tomcat

如果是Web应用,可使用服务器上的Tomcat来部署。

完成以上配置后,同样可通过mvn clean package wagon:upload-single wagon:sshexec命令自动部署。

配置execution

如果你觉得mvn clean package wagon:upload-single wagon:sshexec命令太长了不好记,那么可以配置execution,在运行package打包的同时运行upload-singlesshexec

配置完成后,即可使用mvn clean package来代替mvn clean package wagon:upload-single wagon:sshexec

服务器独立配置

需要在Maven的配置文件settings.xml中配置好server的用户名和密码。

然后configuration里面加上serverId,并且去掉url里面的用户名和密码。

引用: http://blog.csdn.net/mn960mn/article/details/49560003 http://xxgblog.com/2015/10/23/wagon-maven-plugin/

Last updated

Was this helpful?