使用maven-assembly-plugin,配合assembly.xml,会将所有的依赖jar包copy到lib目录下面。
1.在pom.xml文件中添加如下代码:
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!-- not append assembly id in release file name --> <appendAssemblyId>false</appendAssemblyId> <descriptors> <descriptor>src/main/assemble/assembly.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
其中<artifactId>maven-assembly-plugin</artifactId>的maven-assembly-plugin是这个插件的标准命名,appendAssemblyId属性控制是否在生成的打包文件的文件名中包含assembly id。
descriptor属性指定maven-assembly-plugin的配置文件。
execution的设置是为了将maven-assembly-plugin继承到标准的maven打包过程中,从而实现我们需要的自定义打包。
2.在assembly.xml中配置信息
<?xml version="1.0" encoding="UTF-8"?> <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> <id>bin</id> <formats> <format>jar</format> </formats> <dependencySets> <dependencySet> <!-- Define jar file name format, exclude version from file name --> <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping> <outputDirectory>lib</outputDirectory> </dependencySet> </dependencySets> </assembly>
pom.xml中引入maven-assembly-plugin,然后assemble descriptor file按需设置,最后在eclipse中执行Run As -> Maven package,在target目录下就会出现***.zip文件,里面的格式和要求的完全一致。
时间: 2024-10-10 02:10:43