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

使用spring boot创建fat jar APP

现在有了spring boot,一切都变了,我们可以将web应用程序打包成fat jar包,直接运行就行了。 本文将会关注于怎么使用Spring Boot创建一个fat jar包。...如果你要在服务器上面永久运行该服务,即使登录用户退出服务器,则可以使用nohup命令: nohup java -jar fat jarfat war 在上面的例子...,所有的依赖jar包都会被打包进入这一个fat jar,如果你使用了tomcat,那么tomcat也会被打包进去。...但有时候我们还是需要打包成war包,部署在服务器,这种情况只需要将pom.xmlpackaging属性修改为war即可。... 如果你没有从spring-boot-starter-parent继承,那么你需要将main class添加到maven plugin

91110

Spring Boot - 瘦身大作战:优雅应对Spring Boot Fat Jar

Fat Jar 【pom.xml】 <?xml version="1.0" encoding="UTF-8"?...Boot任何Launcher NONE,将所有的依赖库打包,但是不打包Spring Boot任何Launcher 打包后观察下 jar大小 和 里面的内容 重点关注下Main-Class...它是jar文件实际Main-Class,用于设置适当URLClassLoader并最终调用main()方法 有三个启动器子类(JarLauncher,WarLauncher和PropertiesLauncher...它们目的是从目录嵌套jar文件或war文件(而不是在类路径显式文件)加载资源(.class文件等)。 对于JarLauncher和WarLauncher,嵌套路径是固定。...可以通过在loader.properties(这是目录,归档文件或归档文件目录逗号分隔列表)设置一个称为LOADER_PATH或loader.path环境变量来添加其他位置 概括一下: 启动器

46810
您找到你想要的搜索结果了吗?
是的
没有找到

解决SpringBoot jar文件读取问题

前言 SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码读取资源文件(比如word文档、导出模版等),本地开发时可以正常读取 ,但是,当我们打成...jar包发布到服务器后,再次执行程序时就会抛出找不到文件异常。.../BOOT-INF/classes!/templates/docxTemplate.docx 显而易见,这个异常告诉我们:没有找到文件,但是将jar包解压过后,发现这个文件是真真实实存在。...通过仔细观察堆栈信息,我发现此时文件路径并不是一个合法URL(文件资源定位符)。原来jar包中资源有其专门URL形式:jar:!/{entry} )。...解决 虽然我们不能用常规操作文件方法来读取jar资源文件docxTemplate.docx,但可以通过Class类getResourceAsStream()方法,即通过流方式来获取 :

2.8K21

Spring Boot -- 如何获取已加载JAR文件

" } 打包成fat jar fat jarSpring Boot引入一种新格式,其打包后结构与war包比较类似,但是可以直接执行并不需要先解压再加载,打包后类似目录如下: BOOT-INF/classes...对于jar in jar因为并不是规范文件路径,因此无法使用File直接读取,那么该怎么读呢?要解决这个问题需要先了解Spring Boot是怎么做....利用Handler读取jar Spring Boot启动原理关键点是实现了jar in jar协议处理器org.springframework.boot.loader.jar.Handler,读取主要功能为...Handler实现openConnection方法,因此当在项目代码想要读取jar in jar格式架包,则可以用该Handler进行资源读取。...文章标题: Spring Boot -- 如何获取已加载JAR文件流 文章链接: https://mrdear.cn/2019/03/19/framework/spring/在jar获取jar文件

5.4K10

Spring Boot读取配置文件几种方式

Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。...value():指定配置文件 encoding():指定编码,因为properties文件编码默认是ios8859-1,读取出来是乱码 factory():自定义解析文件类型,因为该注解默认只会加载properties...文件,如果想要指定yml等其他格式文件需要自定义实现。...二、Environment读取文件 配置文件我们继续用上面的两个,定义一个类去读取配置文件 ?...经验与坑 properties文件默认使用是iso8859-1,并且不可修改 yml文件加载顺序高于properties,但是读取配置信息时候会读取后加载 @PropertySource注解默认只会加载

1.2K30

Spring Boot读取配置文件几种方式

Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。...这三种注解可以配合着@PropertySource来使用,@PropertySource主要是用来指定具体配置文件。...():指定编码,因为properties文件编码默认是ios8859-1,读取出来是乱码 factory():自定义解析文件类型,因为该注解默认只会加载properties文件,如果想要指定yml等其他格式文件需要自定义实现...一、@Value注解读取文件 新建两个配置文件config.properties和configs.properties,分别写入如下内容: zhbin.config.web-configs.name=Java...iso8859-1,并且不可修改 yml文件加载顺序高于properties,但是读取配置信息时候会读取后加载 @PropertySource注解默认只会加载properties文件 @PropertySource

4.2K10

使用SpringPropertyPlaceholderConfigurer读取文件

简介 大型项目中,我们往往会对我们系统配置信息进行统一管理,一般做法是将配置信息配置与一个cfg.properties 文件,然后在我们系统初始化时候,系统自动读取 cfg.properties...配置文件 key value(键值对),然后对我们系统进行定制初始化。...对于这种情况可以将配置文件路径放在 java 虚拟机 JVM 自定义变量(运行时参数),例如:-Ddev.config=/dev.properties 寻找是本机根目录下 Spring中提供着一个...框架不仅仅会读取我们配置文件键值对,而且还会读取 Jvm 初始化一下系统信息。...配置文件配置,来将项目下对应 properties 文件加载到系统 * 并且经过特殊处理 db2.properties 不允许覆盖掉 db1.properties 相同 key

2K30

spring boot读取配置文件——获取配置参数

一、背景 工作中经常会有一些参数需要配置,同时在代码里面需要用到,所有就需要配置类读取,然后在使用时候注入该类进行获取相关参数。...前面实现了spring boot相关下面内容,现在就来实现一下spring boot如何读取配置文件里面的参数。参考项目地址在文末。...(1)spring boot 2以上版本整合mybatis (2)实现启动项目时数据库表初始化,基于注解实现mybatis查询 (3)mybatis基于pagehelper插件实现分页功能 二、实现 1...(1)配置类需要加@Configuration注解,声明是配置类 (2)@PropertySource注解设置properities文件所在路径 (3)变量上面的@Value注解设置对应属性变量,冒号左边是映射属性文件键...(1)结果可以看出,address配置文件里面没有该值,返回了@Value注解配置默认值。

1K10

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

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

2.2K20

spring-boot-route(二):读取配置文件几种方式

Spring Boot提供了两种格式配置文件,分别是properties 和 yml。...Spring Boot最大特点就是自动化配置,如果我们想修改自动化配置默认值,就可以通过配置文件来指定自己服务器相关参数。...将自定义配置写在配置文件后,如果想要在java代码中使用配置,这时候就需要读取配置文件读取配置文件方式有三种,我们挨个介绍一下如果进行读取!...第一种:使用@Value注解读取 第一步:在配置文件增加加入以下配置 config: name: Java旅途 desc: spring-boot-route 第二部:新建Java类读取配置信息...,还可以通过Spring Boot上下文环境变量来读取配置文件信息,不过上面两种方式已经完全可以满足所有需求,这里就不再进行介绍了。

98730
领券