Maven – Spring Boot 胖/Uber Jar

Maven – Spring Boot 胖/Uber Jar

原文: 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>

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

第 2 步 – 运行 Maven 构建

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

mvn clean install

演示

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

导入的项目结构

Spring boot application

Spring boot 应用

生成的胖 jar 文件

Generated maven fat jar file

生成的 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>

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

学习愉快!