maven profile實現多環境打包
阿新 • • 發佈:2019-01-27
專案開發需要有多個環境,一般為開發,測試,預發,正式4個環境,通過maven可以實現按不同環境進行打包部署,命令為:
mvn package -P dev
其中“dev“為環境的變數id, 可以自己定義, 我定義的名稱為:dev,sit,uat,prod , 具體在pom.xml中的配置如下:
<properties> <package.environment>sit</package.environment> </properties> <profiles> <profile> <id>dev</id> <properties> <package.environment>dev</package.environment> </properties> </profile> <profile> <id>sit</id> <properties> <package.environment>sit</package.environment> </properties> </profile> <profile> <id>uat</id> <properties> <package.environment>uat</package.environment> </properties> </profile> <profile> <id>prod</id> <properties> <package.environment>prod</package.environment> </properties> </profile> </profiles> <build> <finalName>mytest</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> <source>1.8</source> <target>1.8</target> <!-- 指定編譯級別,預設1.5 --> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <archive> <addMavenDescriptor>false</addMavenDescriptor> </archive> <webResources> <resource> this is relative to the pom.xml directory <directory>src/main/resources/${package.environment}</directory> <targetPath>WEB-INF/classes</targetPath> <filtering>true</filtering> </resource> </webResources> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.*</include> </includes> <excludes> <exclude>sql/oracle/*.*</exclude> <exclude>sql/mysql/init/*.*</exclude> <exclude>sit/**/*.*</exclude> <exclude>uat/**/*.*</exclude> <exclude>prod/**/*.*</exclude> </excludes> </resource> </resources> </build>