原文: 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
插件条目。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
第 2 步 – 运行 Maven 构建
现在,当您使用简单的命令mvn clean install
运行 maven 构建时,它将为您的项目生成胖 jar,其中包含所有已编译的应用代码及其所有依赖项 – 打包在一个大 jar 文件中。
mvn clean install
演示
您可以将 Spring Boot REST API 示例的源代码下载到您的计算机中以运行演示。 如果希望查看项目代码内部,则可以选择将此项目作为 Maven 项目导入 eclipse。
导入的项目结构
Spring boot 应用
生成的胖 jar 文件
生成的 Maven 胖 JAR 文件
演示中使用的完整pom.xml
文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;
<modelVersion>4.0.0</modelVersion>
<groupId>com.howtodoinjava.demo</groupId>
<artifactId>springbootdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>SpringBootDemo</name>
<description>Spring Boot Demo for https://howtodoinjava.com</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这就是这个快速提示。 将我的问题放在评论部分。
学习愉快!