1. 程式人生 > >Maven 打包專案 部署到伺服器 重啟服務 外掛

Maven 打包專案 部署到伺服器 重啟服務 外掛

1、maven外掛wagon-maven-plugin自動部署遠端Linux伺服器  (http://xxgblog.com/2015/10/23/wagon-maven-plugin/)

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>wagon-maven-plugin</artifactId>
                <version>1.0</version>
                <configuration>
                    <fromFile>executableJar/${final.name}.jar</fromFile>
                    <url>scp://
${user}:${password}@${ip}/data/app/uploadDir</url> <commands> <!--<command>/etc/init.d/nginx stop</command>--> <command>cp /data/app/${final.name}.jar /data/app/uploadDir/${final.name}.jar_`date "+%Y-%m-%d_%H-%M-%S
"`</command> <command>sh /data/app/diary-starter.sh stop</command> <command>mv -f /data/app/uploadDir/${final.name}.jar /data/app/${final.name}.jar</command> <command>sh /data/app/diary-starter.sh restart</command> <!--<command>/etc/init.d/nginx start</command>--> </commands> <displayCommandOutputs>true
</displayCommandOutputs> </configuration> </plugin>

2、maven外掛maven-resources-plugin 設定載入資原始檔的時候佔位符是否需要被替換

 

  要用到<resource/>標籤和maven-resources-plugin外掛了,用法如下:

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>application.properties</exclude>
                    <exclude>application-prod.properties</exclude>
                    <exclude>application-test.properties</exclude>
                    <!--<exclude>application-remoteTest.properties</exclude>-->
                    <!--<exclude>application-remoteProd.properties</exclude>-->
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application.properties</include>
                    <include>application-${profileActive}.properties</include>
                </includes>
            </resource>
        </resources>
        <finalName>../executableJar/${final.name}</finalName>

  resource的filtering屬性用來表示資原始檔中的佔位符是否需要被替換,true為需要替換

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>ttf</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>

 以上<nonfilteredFileExtension>作用:maven打包時,會編譯特定檔案使得檔案不可用。用上面的方法可以排除某些檔案不編譯