首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在同一个Spring Boot Maven项目中创建Spring Boot Thin and Fat Jar

在同一个Spring Boot Maven项目中创建Spring Boot Thin和Fat Jar,可以按照以下步骤进行操作:

  1. 首先,确保你已经安装了Java和Maven,并且配置了相应的环境变量。
  2. 创建一个新的Spring Boot Maven项目,可以使用Spring Initializr(https://start.spring.io/)来生成一个基本的Spring Boot项目结构。
  3. 在项目的pom.xml文件中,添加以下依赖项:
代码语言:txt
复制
<dependencies>
    <!-- 其他依赖项 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot.experimental</groupId>
        <artifactId>spring-boot-thin-layout</artifactId>
        <version>1.0.26.RELEASE</version>
    </dependency>
</dependencies>

这些依赖项将启用Spring Boot Thin Jar的功能。

  1. 在项目的src/main/resources目录下创建一个新的文件夹,命名为thin
  2. thin文件夹下创建一个新的文件,命名为application.properties,并添加以下内容:
代码语言:txt
复制
spring.thin.archive=../target/${project.build.finalName}.jar

这将告诉Spring Boot Thin Jar使用../target/${project.build.finalName}.jar作为主要的应用程序jar包。

  1. 在项目的pom.xml文件中,添加以下插件配置:
代码语言:txt
复制
<build>
    <plugins>
        <!-- 其他插件配置 -->
        <plugin>
            <groupId>org.springframework.boot.experimental</groupId>
            <artifactId>spring-boot-thin-maven-plugin</artifactId>
            <version>1.0.26.RELEASE</version>
            <executions>
                <execution>
                    <id>build-thin</id>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

这将配置Spring Boot Thin Jar插件来构建Thin Jar。

  1. 在命令行中执行以下命令来构建Thin Jar:
代码语言:txt
复制
mvn clean package spring-boot-thin:build

这将生成Thin Jar文件,并将其放置在thin文件夹下。

  1. 如果你想创建Fat Jar,可以执行以下命令:
代码语言:txt
复制
mvn clean package

这将生成一个包含所有依赖项的Fat Jar文件。

通过以上步骤,你就可以在同一个Spring Boot Maven项目中创建Spring Boot Thin和Fat Jar了。Thin Jar适用于快速部署和更新,而Fat Jar适用于独立运行和分发应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 公司的这种打包启动方式,我简直惊呆了!

    大家都知道,SpringBoot应用最终会打出一个Fat Jar, 里面包含了用到的全部依赖,启动也非常简单,java -jar xxx.jar即可。...1. spring-boot-maven-plugin 该插件是spring boot官方提供的一个打包插件,主要用来打出fat jar,并且提供了支持java -jar xxx.jar方式启动。...官网地址:https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/。...Spring Boot 可执行 jar 的主要入口点;关注公众号:码猿技术专栏,回复关键词:1111 获取阿里内部的java性能调优手册;它是 Spring Boot jar 文件中的实际 Main-Class...,用于设置适当的 URLClassLoader 并最终调用Spring Boot目中定义的 main()方法。

    43520

    公司的这种打包启动方式,我简直惊呆了

    前言 如果本文对你有帮助的话,球球帮忙投个票吧,投票通道 感激不尽呀~~ 大家都知道,SpringBoot应用最终会打出一个Fat Jar, 里面包含了用到的全部依赖,启动也非常简单,java -jar...spring-boot-maven-plugin 该插件是spring boot官方提供的一个打包插件,主要用来打出fat jar,并且提供了支持java -jar xxx.jar方式启动。...官网地址:docs.spring.io/spring-boot…。 我们需要用这个插件,因为只有它可以打出支持启动的jar,但是打出的包中又不能有依赖,该怎么做呢?...Spring Boot 可执行 jar 的主要入口点,它是 Spring Boot jar 文件中的实际 Main-Class,用于设置适当的 URLClassLoader 并最终调用 Spring Boot...项目中定义的 main()方法。

    54110

    高薪必备的一些Spring Boot高级面试题

    问 我们如何使用Maven设置Spring Boot应用程序? 答 我们可以像在任何其他库中一样在Maven目中包含Spring Boot。...当项目足够复杂时,管理依赖可能会变成一场噩梦,因为涉及的组件太多了。 这就是Spring Boot 的starter就派上用场了。...Spring通过提供一个插件即spring-boot-maven-plugin来解决这个问题,将Web应用程序打包为可执行的JAR。要包含此插件,只需向pom.xml添加一个插件元素: ?...有了这个插件,我们将在执行包阶段后得到一个fat JAR 。此JAR包含所有必需的依赖,包括嵌入式服务器。因此,我们不再需要担心配置外部服务器。...执行Maven 包阶段后,我们将拥有一个可部署的WAR文件。 ? 问 如何在Spring Boot启动的时候运行一些逻辑?

    1.8K10

    可运行jar包的几种打包部署方式

    ,中间蓝色的是jar包的路径(多个jar之间用:号连接),最后绿色的部分是main方法所在的类名,按这个思路 把这二个jar包扔同一个目录下,输入如下命令: java -classpath my-jar.jar...,如果是maven项目,请参考  maven: 打包可运行的jar包(java application)及依赖处理 一文 方法三:借助spring-boot 插件 前面二种方法,主程序的jar包,与依赖的...又到我大Spring出场了,将my-jar目中的build.gradle改成下面这样: apply plugin: 'java' apply plugin: 'spring-boot' buildscript...文件),其原理在于spring-boot插件把所有依赖的jar包,全都打到一个jar包里了。...第三种方式,很适合云环境的部署,只需要扔一个jar包上去就完事了,这种all-in-one的jar包,也被换为fat-jar

    2.2K20

    Spring boot2 项目相关

    1、首先通过Idea创建一个Maven项目,参考IDEA Maven父子项目操作(不是微服务架构,所以参考子项目的创建即可). 2、修改pom.xml 导入spring boot2相关的依赖 (1)...可以看到properties节点下面定义了很多Maven自定义属性,这个属性就是控制spring-boot引入的工具包的版本,如下:  这其实就是maven父子项目依赖管理的方式,参考Maven 父子项目...组件举例,spring boot2默认引用  如果项目中需要junit,其pom.xml如下:  那么项目默认会使用spring boot2中的junit版本 参考父子项目,如果此时需要在项目中使用自定义的...运行访问均成功. 8、创建可执行的jar包并部署 类似netcore的单文件部署 Spring boot提供了fat jar的概念,打包了tomcat和相关运行时方便快速发布,修改pom.xml新增如下节点.../spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.executable-jar

    16920

    SpringBoot从0到实战5:项目是如何通过jar包启动的?

    Spring-boot-maven-plugin谈起 对于SpringBoot打包的jar文件,只需要通过jar -jar一行命令便可以启动一个web项目,那springboot是如何做到的呢,这需要从...对于SpringBoot项目,我们会在pom.xml文件添加打包插件spring-boot-maven-plugin,那么执行打包的时候,会生成相应的jar文件,比如: spring-boot-hello...所以对于Spring Boot目中依赖的jar文件,java并无能为力,对于-jar的底层是找到一个Main-Class属性值,对于Spring Boot项目要启动,有两个核心的事情就要去做了: (...总结 Spring Boot应用打包之后,生成一个Fat jar,包含了应用依赖的jar包和Spring Boot loader相关的类。...Fat jar的启动Main函数是JarLauncher,其作用是创建一个LaunchedURLClassLoader来加载/lib下面的jar,并以一个新线程启动应用的Main函数。

    14610

    SpringBoot打包部署解析:jar包的生成和结构

    默认情况下创建Spring Boot项目是采用 jar 包形式,如果项目需要 war 包,可通过修改配置打成 war 包。 本章我们将围绕 jar 包和 war 包的运作原理及相关操作进行讲解。...本节从 jar 包的生成、结构、运作原理来分析 Spring Boot的实现。 jar包的生成 Spring Boot 的可执行 jar 包又称作 fat jar”,是包含所有三方依赖的 jar。...这就为什么当执行 maven clean package 时,spring-boot-maven-plugin 会在 target 目录下生成两个 jar 文件。...jar包的结构 在上一节中,通过 spring-boot-maven-plugin 生 成了可执行的 jar 包,下面分析-下 jarspring-learn-0.0.1-SNAPSHOT.jar...JarLauncher 类位 于 spring-boot-loader 项目中,在 jar 包的 org 目录中便存储着 Launcher 相关类的 class 文件。

    1.7K30

    SpringSpring Boot有啥区别

    5、提供生产指标,例如指标、健壮检查和外部化配置 6、完全没有代码生成和 XML配置要求 从配置分析 Maven依赖 首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖 <dependency...在 Spring目中,我们应该将所有这些库添加为依赖。但是在 SpringBoot中,我们只需要添加 spring-boot-starter-test依赖来自动包含这些库。...Spring Boot为不同的Spring模块提供了许多依赖。...配置模板引擎 现在我们来看下如何在SpringSpring Boot中配置Thymeleaf模板引擎。...这两个框架都支持 Maven和 Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在 Maven中提供 SpringBoot支持。

    1.4K40

    Spring 和 SpringBoot 之间到底有啥区别?

    5、提供生产指标,例如指标、健壮检查和外部化配置 6、完全没有代码生成和 XML配置要求 从配置分析 Maven依赖 首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖 <dependency...在 Spring目中,我们应该将所有这些库添加为依赖。但是在 SpringBoot中,我们只需要添加 spring-boot-starter-test依赖来自动包含这些库。...Spring Boot为不同的Spring模块提供了许多依赖。...配置模板引擎 现在我们来看下如何在SpringSpring Boot中配置Thymeleaf模板引擎。...这两个框架都支持 Maven和 Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在 Maven中提供 SpringBoot支持。

    4.7K10

    SpringSpring Boot 的区别是什么?

    提供生产指标,例如指标、健壮检查和外部化配置 完全没有代码生成和 XML配置要求 从配置分析 Maven依赖 首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖 <dependency...在 Spring目中,我们应该将所有这些库添加为依赖。但是在 SpringBoot中,我们只需要添加 spring-boot-starter-test依赖来自动包含这些库。...Spring Boot为不同的Spring模块提供了许多依赖。...配置模板引擎 现在我们来看下如何在SpringSpring Boot中配置Thymeleaf模板引擎。...这两个框架都支持 Maven和 Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在 Maven中提供 SpringBoot支持。

    6710

    Spring BootSpring 到底有啥区别?用了这么久,你知道吗?

    让我们从配置分析这两个框架 1、Maven依赖 首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖 org.springframework...我们通常使用Spring Test,JUnit,Hamcrest和Mockito库。在Spring目中,我们应该将所有这些库添加为依赖。...当然,如果我们想要添加自己的自定义配置,那么Spring Boot自动配置将会退回。 3、配置模板引擎 现在我们来看下如何在SpringSpring Boot中配置Thymeleaf模板引擎。...Spring Boot的另一个特性是它会自动扫描同一个包中的所有类或Main类的子包中的组件。 Spring Boot提供了将其部署到外部容器的方式。...这两个框架都支持Maven和Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在Maven中提供Spring Boot支持。

    2.5K00

    百度面试官:说说 SpringSpring Boot 的区别是什么?

    5、提供生产指标,例如指标、健壮检查和外部化配置 6、完全没有代码生成和 XML配置要求 4从配置分析 Maven依赖 首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖 <dependency...在 Spring目中,我们应该将所有这些库添加为依赖。但是在 SpringBoot中,我们只需要添加 spring-boot-starter-test依赖来自动包含这些库。...Spring Boot为不同的Spring模块提供了许多依赖。...配置模板引擎 现在我们来看下如何在SpringSpring Boot中配置Thymeleaf模板引擎。...这两个框架都支持 Maven和 Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在 Maven中提供 SpringBoot支持。

    72720

    Spring 和 SpringBoot 最核心的 3 大区别,详解!

    5、 提供生产指标,例如指标、健壮检查和外部化配置6、 完全没有代码生成和 XML配置要求 从配置分析 Maven依赖 首先,让我们看一下使用Spring创建Web应用程序所需的最小依赖 <dependency...在 Spring目中,我们应该将所有这些库添加为依赖。但是在 SpringBoot中,我们只需要添加 spring-boot-starter-test依赖来自动包含这些库。...Spring Boot为不同的Spring模块提供了许多依赖。...配置模板引擎 现在我们来看下如何在SpringSpring Boot中配置Thymeleaf模板引擎。...这两个框架都支持 Maven和 Gradle等通用包管理技术。但是在部署方面,这些框架差异很大。例如,Spring Boot Maven插件在 Maven中提供 SpringBoot支持。

    1.5K30
    领券