天天看点

Java——maven多模块项目打jar包如何把依赖包也打包进去

作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【javaUp】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。
1.maven-jar-plugin,默认的打包插件,用来打普通的project JAR包;

2.maven-shade-plugin,用来打可执行JAR包,也就是所谓的fat JAR包;

3.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>