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

如何使用jar外部的spring boot提供静态内容?

在使用Spring Boot时,可以通过以下步骤来使用外部的JAR提供静态内容:

  1. 将静态内容(例如HTML、CSS、JavaScript文件)放置在外部的JAR包中。可以将这些文件放置在JAR包的特定目录中,例如staticpublic目录。
  2. 在Spring Boot的配置文件(例如application.propertiesapplication.yml)中,配置spring.resources.static-locations属性,指定外部JAR包中静态内容的路径。例如:
代码语言:properties
复制

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/external-jar/

代码语言:txt
复制

上述配置中,classpath:/external-jar/指定了外部JAR包中静态内容的路径。

  1. 在Spring Boot应用程序中,创建一个控制器(Controller)来处理静态内容的请求。可以使用@RestController@Controller注解来标记该类,并使用@RequestMapping@GetMapping等注解来定义处理请求的方法。
代码语言:java
复制

import org.springframework.core.io.ClassPathResource;

import org.springframework.http.MediaType;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;

import java.io.IOException;

import java.io.InputStream;

@RestController

@RequestMapping("/static")

public class StaticContentController {

代码语言:txt
复制
   @GetMapping("/{fileName}")
代码语言:txt
复制
   public StreamingResponseBody getStaticContent(@PathVariable String fileName) throws IOException {
代码语言:txt
复制
       ClassPathResource resource = new ClassPathResource("external-jar/" + fileName);
代码语言:txt
复制
       InputStream inputStream = resource.getInputStream();
代码语言:txt
复制
       return outputStream -> {
代码语言:txt
复制
           int nRead;
代码语言:txt
复制
           byte[] data = new byte[1024];
代码语言:txt
复制
           while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
代码语言:txt
复制
               outputStream.write(data, 0, nRead);
代码语言:txt
复制
           }
代码语言:txt
复制
       };
代码语言:txt
复制
   }

}

代码语言:txt
复制

上述示例代码中,@RequestMapping("/static")指定了处理静态内容请求的URL前缀,@GetMapping("/{fileName}")定义了处理具体文件请求的方法。

  1. 启动Spring Boot应用程序,并访问http://localhost:8080/static/{fileName}来获取外部JAR包中的静态内容。其中,{fileName}是外部JAR包中静态文件的文件名。

这样,就可以通过外部的JAR包提供静态内容了。注意,以上示例中的external-jar是一个示例路径,实际使用时需要根据实际情况进行调整。

推荐的腾讯云相关产品:腾讯云对象存储(COS)可以用于存储静态内容,详情请参考腾讯云对象存储(COS)

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

相关·内容

如何使用Spring BootProfiles

Spring提供了@Profile让我们为不同环境创建不同配置:例如,假设我们有生产,开发和测试等环境。在开发环境中,我们可以启用开发配置文件;在生产环境中我们可以启用生产配置文件等。...=root 可以在application-dev.properties文件中为dev配置文件配置相同属性,以使用内存中H2数据库: spring.datasource.driver-class-name...激活方式: 使用 application.properties属性文件激活 . spring.profiles.active=dev 2.使用命令行, 当我们在命令行添加一个活动配置时,将取代属性文件中活动配置...java -jar -Dspring.profiles.active=dev myapp.jar 3.通过编程激活: @Component @Profile("dev") //也可以配置成@Profile...5.系统环境激活: export spring_profiles_active=dev 这是Spring Boot配置外部灵活。

1.2K30

SpringBoot - 探究Spring Boot应用是如何通过java -jar 启动

文章目录 Pre 引导 新建工程 打包 启动 java -jar 干啥 打包插件 spring-boot-maven-plugin简介 包结构 META-INF内容 Archive概念 JarFile...---- Pre 大家开发基于Spring Boot 应用 ,jar形式, 发布时候,绝大部分都是使用java -jar 启动。...使用-jar参数时,后面的参数是的jarspring-0.0.1-SNAPSHOT.jar】,该jar文件中包含是class和资源文件; 在manifest文件中有Main-Class定义;Main-Class...---- 打包插件 事实上,Java没有提供任何标准方式来加载嵌套jar文件 (jar中包含jar ,即Spring Bootfat jarSpring Boot 默认打包插件如下:...spring-boot-maven-plugin默认有5个goals:repackage、run、start、stop、build-info。在打包时候默认使用是repackage。

1.4K30

如何Jar 包外管理 Spring Boot 应用配置文件

常见 spring boot 应用多是打包成 jar 包运行在服务器,这包含了一系列配置文件以及第三方依赖,不过这也引发了常见思考:除application.properties之外其它配置文件变动...先来看看 Spring Boot如何加载核心配置文件,在org.springframework.boot.context.config.ConfigFileApplicationListener内部类...demo.jar Jar 包同级目录下 config 目录 Jar 包同级目录 classpath (resources) 同级目录下 config 目录 classpath (resources.../BOOT-INF/classes!/ 因为java -jar所指定及对应优先级是最高,所以启动时设定 classpath 就可以达到想要效果:将配置文件从 Jar 包独立出来进行管理。...测试 参考链接 springboot项目实现jar包外配置文件管理 -jar参数运行应用时,设置classpath方法

2.1K20

如何Spring BootJar包做成exe?超详细教程来了!

作者 | 如漩涡 来源 | https://blog.csdn.net/m0_37701381/article/details/104163877 近期做了一个前后端合并spring boot项目,...但是要求达成exe文件,提供给不懂电脑小白安装使用,就去研究了半天,踩了很多坑,写这篇文章,是想看到这篇文章的人,按照我步骤走,能少踩坑。...准备 准备工作: 一个jar包,没有bug能正常启动jar包 exe4j,一个将jar转换成exe工具,链接:https://pan.baidu.com/s/1J30uUMJcYnqWCJSr6gkM5w...1DgFo1ceM_8Bqx_b-veibbQ,提取码:g9jd 开始 以我为例子,我将jar包放在了桌面 打开安装好exe4j 直接下一步进入界面,选择JAVA转EXE 然后点下一步,输入名称和输出路径...继续点击下一步,选择启动模式 下方有个选项,需要设置打包后程序兼容32和64位系统 进来后勾选上 然后一直下一步,一直出现如下界面,开始选择jar包以及配置 在VM参数配置地方加上:-Dfile.encoding

86910

Spring Boot(六):如何优雅使用 Mybatis

Sql 了,有不太了解可以看我上篇文章springboot(五): Spring Data Jpa 使用。...层和配置文件等,发展到最顶端就是今天要讲这种模式了, mybatis-spring-boot-starter 就是 Spring Boot+ Mybatis 可以完全注解不用配置文件,也可以简单配置轻松上手...Mybatis 看 Spring Boot 这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很多问题,使用起来确实顺畅了许多。...mybatis-spring-boot-starter主要有两种解决方案,一种是使用注解解决一切问题,一种是简化后老传统。...使用和上个版本没有任何区别,大家就看文章对应示例代码吧 如何选择 两种模式各有特点,注解版适合简单快速模式,其实像现在流行这种微服务模式,一个微服务就会对应一个自已数据库,多表连接查询需求会大大降低

56130

如何Spring Boot应用程序打包为可执行jar文件?

本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。...本文将介绍如何使用Spring Boot框架打包成jar包进行部署,以及一些常见jar包部署问题。...打包成可执行jar包在使用Spring Boot框架过程中,我们可以使用Maven或Gradle来构建项目。...其中Maven是比较常见构建工具,本文以Maven为例来介绍如何Spring Boot项目打包成可执行jar包。...server: port: 8889 servlet.context-path: /review示例截图如下:图片全文小结本文介绍了如何使用Spring Boot框架打包成可执行jar包进行部署,

1K73

Spring认证指南|了解如何将基于 Spring Boot JAR 应用程序转换为 WAR 文件。

原标题:Spring认证指南|了解如何将基于 Spring Boot JAR 应用程序转换为 WAR 文件。...将 Spring Boot JAR 应用程序转换为 WAR Spring Boot 带有两个强大插件: spring-boot-gradle-plugin spring-boot-maven-plugin...它们本质上都具有相同功能,并提供从命令行运行 Spring Boot 应用程序以及捆绑可运行 JAR 能力。...本质上,您必须重新配置项目以生成 WAR 文件并将嵌入式容器依赖项声明为“已提供”。这可确保相关嵌入式容器依赖项不包含在 WAR 文件中。...有关如何配置应用程序为容器创建 WAR 文件详细步骤,请参阅: 使用 Maven 打包可执行 jar 和 war 文件 Spring Boot Gradle 插件或 Gradle 插件参考:打包可执行文件战争

1.1K20

SpringBoot:概述

Spring BootSpring 开源组织下子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 难度,简省了繁重配置,提供了各种启动器,开发者能快速上手。...提供了一些大型项目中常见非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等 SpringBoot 不是对 Spring 功能上增强,而是提供了一种快速使用 Spring 方式。...如果想要使用静态资源就必须排除静态资源请求路径。 2、Spring Boot 2.1 优化应用程序启动速度,启动时占用内存更少。...对于需要从 jar 内容中构建 docker 映像情况,能够进一步分隔这些目录,以便可以将它们写入不同层是很有用。...Spring Boot 2.4 提供对构建输出 JAR 分析自动瘦身功能,自动在构建输出可运行 JAR 时删除 empty starter dependencies。

98120

Spring-boot特性(2) 原

设置启动参数 通常情况下,我们使用SpringApplication.run(args)静态方法就可以启动Boot。...参数可以用于Boot外部配置,也可以直接使用@Configuration方式而什么都不传递,关于外部化配置说明请见后续配置部分说明。...Web环境 我们知道Spring有各种各样ApplicationContext,而Boot自动配置推导功能会根据ClassPath中所包含内容来确定使用哪个ApplicationContext。...加载外部属性值 我们一般将配置数据记录在properties文件、YAML文件、环境变量中,或者通过命令行参数来传入。Spring Boot提供了一套价值将这些外部数据加载到JVM系统参数中。...环境配置 前面介绍了如何配置,这一小节将详细介绍如何解决不同环境不同配置问题。Spring提供了默认配置为主,部分分离配置为辅配置方式,称之为Profiles特性。

97320
领券