在Maven中,主要有3个插件可以用来打包:
1.maven-jar-plugin,默认的打包插件,用来打普通的project JAR包; 2.maven-shade-plugin,用来打可执行JAR包,也就是所谓的fat JAR包; 3.maven-assembly-plugin,支持自定义的打包结构,也可以定制依赖项等。
使用maven-assembly-plugin插件可以定制依赖:
<!-- maven 打包集成插件 --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <!-- 绑定到package生命周期 --> <phase>package</phase> <goals> <!-- 只运行一次 --> <goal>single</goal> </goals> </execution> </executions> <configuration> <descriptorRefs> <!-- 将依赖一起打包到 JAR --> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <!-- 配置主程序 java -jar 默认Class --> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.xx.xx.xx</mainClass> </manifest> </archive> </configuration> </plugin>