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

Spring Boot Thin Jar,怎么做?

Spring Boot Thin Jar是一种用于构建轻量级可执行JAR文件的技术。它可以帮助开发人员将应用程序打包成一个独立的可执行文件,其中只包含应用程序的核心依赖项,而不包含所有的依赖项。这样可以减小应用程序的大小,并提高应用程序的启动速度。

要使用Spring Boot Thin Jar,可以按照以下步骤进行操作:

  1. 在项目的pom.xml文件中,添加Spring Boot Thin Jar插件的依赖:
代码语言:xml
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot.experimental</groupId>
            <artifactId>spring-boot-thin-layout</artifactId>
            <version>1.0.26.RELEASE</version>
        </plugin>
    </plugins>
</build>
  1. 在项目的pom.xml文件中,配置Thin Jar插件的属性:
代码语言:xml
复制
<properties>
    <thin.archive>thin</thin.archive>
    <thin.root>BOOT-INF/classes</thin.root>
    <thin.launcher>org.springframework.boot.loader.PropertiesLauncher</thin.launcher>
</properties>
  1. 在项目的pom.xml文件中,配置Thin Jar插件的执行目标:
代码语言:xml
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot.experimental</groupId>
            <artifactId>spring-boot-thin-maven-plugin</artifactId>
            <version>1.0.26.RELEASE</version>
            <executions>
                <execution>
                    <goals>
                        <goal>resolve</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  1. 使用Maven命令构建Thin Jar文件:
代码语言:shell
复制
mvn clean package spring-boot-thin:build
  1. 构建完成后,可以在target目录下找到生成的Thin Jar文件。

Spring Boot Thin Jar的优势在于它可以减小应用程序的大小,并提高应用程序的启动速度。它适用于需要快速启动和部署的场景,特别是在云计算环境中。

腾讯云提供了一系列与Spring Boot Thin Jar相关的产品和服务,例如云服务器、云原生应用引擎、容器服务等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多详情。

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

相关·内容

Spring Boot2 系列教程(四十)Spring Boot 可执行 jar 分析

jar 主要是被其他应用依赖,Spring Boot 打成的 jar 可以执行,但是不可以被其他的应用所依赖,即使强制依赖,也无法获取里边的类。...但是可执行 jar 并不是 Spring Boot 独有的,Java 工程本身就可以打包成可执行 jar 。...Start-Class,这就是可执行 jar 的入口类,Spring-Boot-Classes 表示我们自己代码编译后的位置,Spring-Boot-Lib 则表示项目依赖的 jar 的位置。...一次打包两个 jar 一般来说,Spring Boot 直接打包成可执行 jar 就可以了,不建议将 Spring Boot 作为普通的 jar 被其他的项目所依赖。...如果非要将 Spring Boot 打包成一个普通 jar 被其他项目依赖,技术上来说,也是可以的,给 spring-boot-maven-plugin 插件添加如下配置: <plugins

1.4K21

Spring Boot配置文件放在jar外部

Spring Boot程序默认从application.properties或者application.yaml读取配置,如何将配置信息外置,方便配置呢?...查询官网,可以得到下面的几种方案: 通过命令行指定 SpringApplication会默认将命令行选项参数转换为配置信息 例如,启动时命令参数指定: java -jar myproject.jar...外置配置文件 Spring程序会按优先级从下面这些路径来加载application.properties配置文件 当前目录下的/config目录 当前目录 classpath里的/config目录 classpath...完全没问题 java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties...在application.properties中指定使用哪一个文件 spring.profiles.active = dev 当然,你也可以在运行的时候手动指定: java -jar myproject.jar

2.5K60

Spring Boot 如何热加载jar实现动态插件?

本文主要介绍在 Spring Boot 工程中热加载 jar 包并注册成为 Bean 对象的一种实现思路,在动态扩展功能的同时支持在插件中注入主程序的 Bean 实现功能更强大的插件。...二、热加载 jar 包 通过指定的链接或者路径动态加载 jar 包,可以使用 URLClassLoader 的 addURL 方法来实现,样例代码如下: 「ClassLoaderUtil 类」 public...三、动态注册 Bean 将插件 jar 中加载的实现类注册到 Spring 的 IOC 中,同时也会将 IOC 中已有的 Bean 注入进插件中;分别在程序启动时和运行时两种场景下的实现方式。...启动时注册 使用 ImportBeanDefinitionRegistrar 实现在 Spring Boot 启动时动态注册插件的 Bean,样例代码如下:「PluginImportBeanDefinitionRegistrar...五、完整 demo https://github.com/zlt2000/springs-boot-plugin-test

4.7K10

Spring Boot 发布 jar 包转为 war 包秘籍。

Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布。使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题。...1、修改Spring Boot启动类 启动类继承 SpringBootServletInitializer类,并覆盖 configure方法。 下面是Spring Boot提供的示例代码。...-- … --> 4、添加war包打包插件 如果你用的是继承spring-boot-starter-parent的形式使用Spring Boot,那可以跳过,因为它已经帮你配置好了...如果你使用的依赖spring-boot-dependencies形式,你需要添加以下插件。...2、Spring Boot的升级是否需要Tomcat跟着升级?需要观察。 3、打war包比打jar明显要变慢好多。。 暂时还没遇到其他问题,大家对此有什么看法都可以在下方留言。

1.4K30

spring boot + embed tomcat + standalone jar的内存泄露问题

发生故障时,用top -m 看java进程占用的内存并不算高,而且spring boot的acurator端点监控,以及jvm的内存监控都在正常值范围内,刚开始怀疑是jvm参数设置不合理,调整了G1垃圾收集器各种参数组合...攀墙出去google了下,无意搜索" spring boot memory leak",发现有些人遇到了类似的问题,共同点都是embed tomcat + standalone jar运行方式,于是怀着试一试的心理...附,更换方法: compile('org.springframework.boot:spring-boot-starter-web') { exclude module: "spring-boot-starter-tomcat..." } compile('org.springframework.boot:spring-boot-starter-undertow')   注:其它jar包也有可能隐式依赖了tomcat...: "spring-boot-starter-tomcat" }

1.3K60
领券