1. 程式人生 > >使用Maven自動部署外掛

使用Maven自動部署外掛

Java程式設計師常常有這樣的困惑,每天開發專案的時候都要重複著“寫程式碼 -> 打包 -> 停止服務 -> 部署程式碼 -> 啟動服務 -> 測試”。尤其是當專案的歷史比較長,目錄結構比較混亂的時候更是如此。這其中有很多時間都花在了手動啟停服務,部署包上面了。今天就說說怎樣使用Maven的外掛來實現自動“打包 -> 停止服務 -> 部署程式碼 -> 啟動服務”。

修改Maven的配置檔案pom.xml,加入類似如下的配置。

    <build>
        ....
        <extensions>
<extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> <version>2.8</version> </extension> </extensions> <plugins> <plugin
>
<groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <id>stop</id
>
<phase>package</phase> <goals> <goal>sshexec</goal> </goals> <configuration> <url>scp://<username>:<password>@<host>/</url> <commands> <command>/usr/share/tomcat/bin/tomcat stop</command> </commands> </configuration> </execution> <execution> <id>upload</id> <phase>package</phase> <goals> <goal>upload</goal> </goals> <configuration> <url>scp://<username>:<password>@<host>/</url> <fromDir>${project.basedir}/target</fromDir> <includes>*.jar</includes> <toDir>...</toDir> </configuration> </execution> <execution> <id>start</id> <phase>package</phase> <goals> <goal>sshexec</goal> </goals> <configuration> <url>scp://<username>:<password>@<host>/</url> <commands> <command>/usr/share/tomcat/bin/tomcat start</command> </commands> </configuration> </execution> </executions> </plugin> </plugins> </build>

此時,“打包,停止服務,部署,啟動服務”只需要執行下面的命令即可完成。

mvn clean package