Java Spring Boot 一些调试技巧
配置文件的管理
有的时候我们希望开发环境和测试环境的配置文件放在一起可以快速切换
spring boot 为我们提供了很方便的的选项
在 application.properties 中只需要添加属性 spring.profiles.active=dev
这样spring boot 就会切换选择 对应的配置文件 application-dev.properties,把里面的属性覆盖当前的配置文件
除此之外 @Profile({"dev"}) 注册的组件就会被扫描 这样非常适合调试
如果打包之后,我们还可以在参数中选择配置,非常便捷而且不用重新打包
java -jar xxweb.jar --spring.profiles.active=online
最常用的属性就是 --server.port=8090 (端口号)
静态资源的管理
我们一般比较喜欢把spring-boot打包成jar之后再部署,通常情况下静态资源文件也会被打包,如果前端资源太大,或者调试的时候想要动态更改前端文件,那么可以使用以下配置属性
这样就不用在本地修改完还要打包了,可以直接上传到服务器上
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${user.dir}../static/
本地没太大问题,不过笔者尝试过在打包成jar后不太好用,设置为启动参数就完美解决了
远程服务器调试
spring-boot打包成jar很方便,但是如果项目依赖太多,jar包就会很大,放在测试环境机器上每次都要先打包好久,然后再上传好久,但是自己只改了一两个class文件,太不爽了
我们可以把 spring-boot 的jar包打开
jar -xvf xxxweb.jar
这个命令会把jar所有的文件copy到当前目录
然后把自己改的文件覆盖对应的class,然后可以打包,也可以直接启动
打包:
jar -cvfM0 xxxweb.jar ./
直接启动
java org.springframework.boot.loader.JarLauncher
Java Spring Boot 一些调试技巧的更多相关文章
- Java Spring Boot VS .NetCore (七) 配置文件
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (一)来一个简单的 Hello World
系列文章 Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filte ...
- Java Spring Boot VS .NetCore (二)实现一个过滤器Filter
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (三)Ioc容器处理
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (四)数据库操作 Spring Data JPA vs EFCore
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (五)MyBatis vs EFCore
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (六) UI thymeleaf vs cshtml
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (八) Java 注解 vs .NetCore Attribute
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Java Spring Boot VS .NetCore (九) Spring Security vs .NetCore Security
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
随机推荐
- apt-get命令使用
1.apt-get命令 apt-get命令是Debian Linux发行版中的APT软件包管理工具,所有基于Debian的发行都使用这个包管理系统. (1)命令语法 apt-get(选项)(参数) ( ...
- ng打包
1.在项目完成后进行项目打包 2.输入ng build后会出现dist打包文件 3.在打包文件中有一个文件index.html文件,改变html中的一个参数 <base href="/ ...
- SpringBoot工程常见报错汇总
1.Springboot测试类运行报错 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you ...
- Python中的垃圾回收机制(转)
原文:https://foofish.net/python-gc.html GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他 ...
- laravel 查询随机数据
laravel 中 随机搜索数据 $tweet = Tweet::where('id',$id) ->orderBy(\DB::raw('RAND()')) ->take(1) -> ...
- C#里面如何判断一个Object是否是某种类型
第一种方法 var isA = oldObject.GetType() == typeof(Dictionary<string, string>) 第二种方法 var isB = oldO ...
- python使用pymysql操作mysql数据库
1.安装pymysql pip install pymysql 2.数据库查询示例 import pymysql # 连接database conn =pymysql.connect(user=' , ...
- Jenkins+Gitee异常解决
Failed to connect to repository : Command "git ls-remote -h username@mygit.com:cc/myproject.git ...
- 英语catarinite天铁托甲catarinite镍铁陨石
中文名称:天铁 镍铁陨石(catarinite)是铁质陨石的一种,发现地有南非,美国,澳洲,南极大陆等.镍铁陨石有著美丽的韦德曼交纹及高含量的镍成分,因此不易氧化,大部分都用来制造饰品或展现陨石韦德曼 ...
- RPC相关知识
为什么要进行系统拆分,为什么要用dubbo RPC的由来,基本架构,实现原理,整个调用过程经历了哪几步 Java动态代理及 RPC框架介绍 一篇文章了解RPC框架原理 dubbo详解及demo实例 d ...