赞
踩
Spring Boot 的打包插件用着很爽吧,直接把源码和所有依赖打成一个 Jar 包还能直接java -jar
运行。那如果非 Spring Boot 项目,想打成一个可执行的 Jar 包该怎么办呢?
别慌,Maven 这种老牌构建工具,搞定这个事情还不是轻轻松松!
下面介绍一些其他的 Maven 插件,同样可以直接将 Maven 项目打包成一个可执行的 Jar 包(uber jar/executable jar),而且功能更强大,应用场景更丰富!
maven-dependency-plugin是 Maven 的一个内置插件,从名字就能看出来,它的功能就是处理依赖的。内置了很多目标(goals),功能非常全:
通过 unpack-dependencies
这个目标来解压依赖的包/源码,就可以完成一个 all-in-one 的打包方式:
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
-
- <execution>
- <id>unpack-dependencies</id>
- <!-- 绑定到 prepare-package 阶段 -->
- <phase>prepare-package</phase>
- <goals>
- <goal>unpack-dependencies</goal>
- </goals>
- <configuration>
- <includeScope>runtime</includeScope>
- <outputDirectory>${project.build.outputDirectory}</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
这个 unpack 的方式,会把所有依赖包(内部模块依赖和外部模块依赖)都“解压”,就是说会把依赖包的代码(class)都拷贝到 outputDirectory 目录里,类似一个合并的操作,结果就像这样:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。