Maven 打包專案 部署到伺服器 重啟服務 外掛
阿新 • • 發佈:2019-01-11
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打包時,會編譯特定檔案使得檔案不可用。用上面的方法可以排除某些檔案不編譯