原文:https://blog.csdn.net/jbfx455l/article/details/94382770
xml
<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>mes-zip</id> <formats> <!-- 可以根据自己的需求定义压缩文件的格式 --> <format>zip</format> </formats> <!-- 不包含根目录,如果为true,生成的压缩文件会有一个根目录 --> <includeBaseDirectory>false</includeBaseDirectory> <!-- 指定需要压缩的文件清单 --> <fileSets> <fileSet> <!-- 指定你需要压缩的文件目录 --> <directory>${project.build.directory}/lib/</directory> <!-- 指定压缩后的文件目录 --> <outputDirectory>lib</outputDirectory> </fileSet> <fileSet> <directory>${project.build.directory}/config/</directory> <outputDirectory>config</outputDirectory> </fileSet> <fileSet> <directory>${project.build.directory}/</directory> <includes> <include>*.jar</include> </includes> <outputDirectory>/</outputDirectory> </fileSet> </fileSets> </assembly>
pom
<build> <plugins> <!-- 这个插件是用来打jar包的 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <!-- 将静态资源排除出jar包 --> <excludes> <exclude>static/**</exclude> <exclude>templates/**</exclude> <exclude>*.*</exclude> </excludes> <archive> <manifest> <addClasspath>true</addClasspath> <!-- MANIFEST.MF 中 Class-Path 加入前缀 --> <classpathPrefix>lib/</classpathPrefix> <!-- jar包不包含唯一版本标识 --> <useUniqueVersions>false</useUniqueVersions> <!-- 指定启动类的包路径 --> <mainClass>com.jxzl.Sso8004Application</mainClass> </manifest> <manifestEntries> <!--MANIFEST.MF 中 Class-Path 加入资源文件目录 --> <Class-Path>config/</Class-Path> </manifestEntries> </archive> <!-- 指定打出的jar包路径 --> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> </plugin> <!-- 这个插件是用来复制项目依赖的jar包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <!-- 自定义 --> <id>copy-dependencies</id> <phase>package</phase> <goals> <!-- 复制依赖的jar包 --> <goal>copy-dependencies</goal> </goals> <configuration> <!-- 将依赖的jar包复制到该路径下 --> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- 这个插件是用来复制项目的静态资源--> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <!-- 自定义 --> <id>copy-resources</id> <phase>package</phase> <goals> <!-- 复制静态资源 --> <goal>copy-resources</goal> </goals> <configuration> <resources> <resource> <!-- 指定静态资源的路径 --> <directory>src/main/resources</directory> <!-- 指定需要复制的文件 --> <includes> <include>*.*</include> <include>static/**</include> <include>templates/**</include> </includes> </resource> </resources> <!-- 指定复制到该目录下 --> <outputDirectory>${project.build.directory}/config</outputDirectory> </configuration> </execution> </executions> </plugin> <!-- 以上配置后你的文件打包后的文件目录如下 -lib -config -项目名.jar --> <!-- 这个插件使用来将分离出来的静态资源和依赖的jar包(就是上面说到的文件目录), 压缩成一个zip文件。个人感觉这个蛮方便的 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!-- 这个插件需要指定一个配置文件 --> <descriptors> <descriptor>src/main/resources/assembly.xml</descriptor> </descriptors> </configuration> <executions> <execution> <!-- 自定义 --> <id>make-assembly</id> <phase>package</phase> <goals> <!-- 只执行一次 --> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
么没办法把zhixingjar放到zip中 有知道的告知一下