项目使用maven打包后一般需要进行配置或者静态资源分离,可以使用 maven-assembly-plugin插件进行资源分离。
项目结构:
pom文件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
<executions>
<!-- 配置文件单独打包 -->
<execution>
<id>make-config-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
<descriptors>
<!-- 指定配置文件 -->
<descriptor>${basedir}/src/main/assembly/config_assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
<!-- 静态资源文件单独打包 -->
<execution>
<id>make-static-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
<descriptors>
<!-- 指定配置文件 -->
<descriptor>${basedir}/src/main/assembly/static_assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<!-- 主工程打包排除resources下的静态文件夹 -->
<directory>src/main/resources</directory>
<excludes>
<exclude>static/**</exclude>
</excludes>
</resource>
</resources>
</build>
添加文件config_assembly.xml:
<?xml version="1.0" encoding="GBK"?>
<assembly>
<id>config</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<!-- 指定需要压缩的文件目录 -->
<directory>src/main/config/</directory>
<!-- 指定压缩后的文件目录 -->
<outputDirectory>/</outputDirectory>
<includes>
<include>**/**</include>
</includes>
</fileSet>
</fileSets>
</assembly>
添加文件static_assembly.xml:
<?xml version="1.0" encoding="GBK"?>
<assembly>
<id>static</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<!-- 指定需要压缩的文件目录 -->
<directory>src/main/resources/static</directory>
<!-- 指定压缩后的文件目录 -->
<outputDirectory>/</outputDirectory>
<includes>
<include>**/**</include>
</includes>
</fileSet>
</fileSets>
</assembly>