原文: https://howtodoinjava.com/maven/create-fat-jar-spring-boot-applications/

在本 Maven 教程中,我们将学习使用 maven 插件为 SpringBoot 应用创建胖 jar 或 uber jar。 它非常简单,几乎不需要pom.xml文件中的配置更改。

步骤 1 – 在pom.xml中添加 Spring boot maven 插件

第一步,也许只是所需的第一步,是在pom.xml文件中具有spring-boot-maven-plugin插件条目。

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. </plugin>
  7. </plugins>
  8. </build>

阅读更多:使用 maven shade 插件创建胖 JAR

第 2 步 – 运行 Maven 构建

现在,当您使用简单的命令mvn clean install运行 maven 构建时,它将为您的项目生成胖 jar,其中包含所有已编译的应用代码及其所有依赖项 – 打包在一个大 jar 文件中。

  1. mvn clean install

演示

您可以将 Spring Boot REST API 示例的源代码下载到您的计算机中以运行演示。 如果希望查看项目代码内部,则可以选择将此项目作为 Maven 项目导入 eclipse。

导入的项目结构

Maven – Spring Boot 胖/Uber Jar - 图1

Spring boot 应用

生成的胖 jar 文件

Maven – Spring Boot 胖/Uber Jar - 图2

生成的 Maven 胖 JAR 文件

演示中使用的完整pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.howtodoinjava.demo</groupId>
  6. <artifactId>springbootdemo</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>SpringBootDemo</name>
  10. <description>Spring Boot Demo for https://howtodoinjava.com</description>
  11. <parent>
  12. <groupId>org.springframework.boot</groupId>
  13. <artifactId>spring-boot-starter-parent</artifactId>
  14. <version>1.4.0.RELEASE</version>
  15. <relativePath/> <!-- lookup parent from repository -->
  16. </parent>
  17. <properties>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  20. <java.version>1.8</java.version>
  21. </properties>
  22. <dependencies>
  23. <dependency>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-starter-data-jpa</artifactId>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.springframework.boot</groupId>
  29. <artifactId>spring-boot-starter-hateoas</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework.boot</groupId>
  33. <artifactId>spring-boot-starter-jersey</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework.boot</groupId>
  37. <artifactId>spring-boot-starter-security</artifactId>
  38. </dependency>
  39. <dependency>
  40. <groupId>org.springframework.boot</groupId>
  41. <artifactId>spring-boot-starter-web</artifactId>
  42. </dependency>
  43. <dependency>
  44. <groupId>org.hsqldb</groupId>
  45. <artifactId>hsqldb</artifactId>
  46. <scope>runtime</scope>
  47. </dependency>
  48. <dependency>
  49. <groupId>org.springframework.boot</groupId>
  50. <artifactId>spring-boot-starter-test</artifactId>
  51. <scope>test</scope>
  52. </dependency>
  53. </dependencies>
  54. <build>
  55. <plugins>
  56. <plugin>
  57. <groupId>org.springframework.boot</groupId>
  58. <artifactId>spring-boot-maven-plugin</artifactId>
  59. </plugin>
  60. </plugins>
  61. </build>
  62. </project>

这就是这个快速提示。 将我的问题放在评论部分。

学习愉快!