解决spring boot环境切换失效的问题
目录
- spring boot环境切换失效
- 概述
- 解决
- springboot多环境配置文件无效
- springboot配置文件无效
spring boot环境切换失效
概述
最近在使用-Dspring.profiles.active=te 来切换spring-boot的环境时,发现日志打印的是:
...ApplicationStartUp - The following profiles are active: de
也就是说,参数失效了。
debug调试时,发现spring-boot读取的也是de,不是te。
解决
下载了一个新的tomcat,然后重新发布程序,设置参数,启动,发现环境正常切换了过来。
springboot多环境配置文件无效
springboot配置文件无效
这个坑必须发出来,真是恶心!不管是yml还是properties格式配置文件都有这问题。
- application.properties
spring.profiles.active=dev
- application-dev.properties
server.port=9000 server.context-path=/h2
这个application-dev.properties的第一行必须是注释或者为空,否则里面配置无法解析。
也就是第一行不能顶格写!
如下两种写法是正确的:
server.port=9000 server.context-path=/h2 # 第一行必须为空或者注释 server.port=9000 server.context-path=/h2
如果不这样,你的application-dev.properties就是废物,一点用都没有,监听端口还是默认的8080,但是第二行及以后的配置可以正常解析到。
因为当启用了多环境配置后,环境配置文件比如application-dev.properties,springboot框架的代码实现逻辑就强行占用了第一行,这个占用一点用处都没有。springboot就是这么霸道,就是要占用第一行,你能怎么样,有本事你也写个springboot,从第18行开始解析配置。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SpringBoot多种环境自由切换的实现
yml配置文件很好用,但是实际生产中会有很多问题. 测试是一套配置,生产是一套配置:不同人开发不同的模块,共用一个yml文件容易发生冲突: 本地开发需要本地化配置调试,本节咱们就把这些头疼的问题统统解决掉. 首先我们建立一个工程,将application.properties文件后缀改成application.yml. name: 张三 lesson: springboot desc: ${name}同学正在努力学习${lesson}!!! #占位符 DemoController.java @R
-
解决springboot的aop切面不起作用问题(失效的排查)
检查下springboot的启动类是否开启扫描 @SpringBootApplication @ComponentScan(basePackages = {"com.zhangpu.springboot"}) 另外springboot默认开启的EnableAspectJAutoProxy为true 如果不放心可以增加: @EnableAspectJAutoProxy(proxyTargetClass=true) 第二种可能: 没有导入 相关的jar <dependency>
-
springboot 多环境切换的方法
properties文件 profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境: 例如: application-test.properties 代表测试环境配置 application-dev.properties 代表开发环境配置 但是Springboot并不会直接启动这些配置文件,它默认使用application.properties主配置文件: 我们需要通过一个配置来选择需要激活的环境: spring.profiles.active=
-
spring boot开发遇到坑之spring-boot-starter-web配置文件使用教程
本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们知道Spring Boot支持容器的自动配置,默认是Tomcat,当然我们也是可以进行修改的: 1.首先我们排除spring-boot-starter-web依赖中的Tomcat:在pom文件中排除tomcat的starter <dependency> <groupId>org.springframework.boot</groupId> <
-
解决spring boot环境切换失效的问题
目录 spring boot环境切换失效 概述 解决 springboot多环境配置文件无效 springboot配置文件无效 spring boot环境切换失效 概述 最近在使用-Dspring.profiles.active=te 来切换spring-boot的环境时,发现日志打印的是: ...ApplicationStartUp - The following profiles are active: de 也就是说,参数失效了. debug调试时,发现spring-boot读取的也是de
-
解决springboot环境切换失效的问题
目录 springboot环境切换失效 概述 解决 SpringBoot多数据源切换无效(不切换) CSDN查到的方案有 springboot环境切换失效 概述 最近在使用-Dspring.profiles.active=te 来切换spring-boot的环境时,发现日志打印的是: ...ApplicationStartUp - The following profiles are active: de 也就是说,参数失效了. debug调试时,发现spring-boot读取的也是de,不是t
-
解决Spring boot 嵌入的tomcat不启动问题
此文章记录一次spring boot通过main 方法启动无法成功的问题 Unregistering JMX-exposed beans on shutdown 问题如下,因为已经解决用的别人的截图但是效果是一样的 百度了一圈都说tomcat没有配置,但实际xml有如下配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomc
-
Spring Boot环境下Mybatis Plus的快速应用操作
一.简介 Mybatis-Plus(简称MP)是一个 Mybatis 的一个增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生.其愿景是成为Mybatis最好的搭档,将开发效率翻倍,由于受到学习研究深入限制,本例只进行Mybatis Plus在Spring Boot环境下的基本应用(如Select.Insert.Update.Delete等基本操作,其中还包括动态生成组合查询与更新的动态SQL语句). 特性: 无侵入:Mybatis-Plus 在 Mybatis 的
-
解决Spring Boot 在localhost域奇怪的404问题(Mac book pro)
在mac系统中,明明url是对的,浏览器也可以打开,一个简单的代码调用就是404,你有没有遇到过? 情景再现 普通的一个controller,返回一个常量. @GetMapping("/project_metadata/spring-boot") public String getMetadata(){ return "{\"data\":1234}";//这个不重要 } 调用接口的方式: content = new JSONObject(res
-
解决spring boot 1.5.4 配置多数据源的问题
spring boot 已经支持多数据源配置了,无需网上好多那些编写什么类的,特别麻烦,看看如下解决方案,官方的,放心! 1.首先定义数据源配置 #=====================multiple database config============================ #ds1 first.datasource.url=jdbc:mysql://localhost/test?characterEncoding=utf8&useSSL=true first.datasou
-
解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
LocalDate . LocalTime . LocalDateTime 是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作.然而,我们在使用Spring Boot或使用Spring Cloud Feign的时候,往往会发现使用请求参数或返回结果中有 LocalDate . LocalTime . LocalDateTime 的时候会发生各种问题.本文我们就来说说这种情况下出现的问题,以及如何解决. 问题现象 先来看看症状.比如下面的例子: @Sprin
-
解决Spring Boot 正常启动后访问Controller提示404问题
问题描述 今天重新在搭建Spring Boot项目的时候遇到访问Controller报404错误,之前在搭建的时候没怎么注意这块.新创建项目成功后,作为项目启动类的Application在com.blog.start包下面,然后我写了一个Controller,然后包的路径是com.blog.ty.controller用的@RestController 注解去配置的controller,然后路径也搭好了,但是浏览器一直报404.最后找到原因是Spring Boot只会扫描启动类当前包和以下的包 ,
-
解决Spring Boot项目端口8080被占用的问题
错误提示: 2018-11-12 21:25:58.422 ERROR 15916 - [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : APPLICATION FAILED TO START Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or t
-
解决Spring Boot 多模块注入访问不到jar包中的Bean问题
情景描述 一个聚合项目spring-security-tutorial,其中包括4个module,pom如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mav
随机推荐
- SHELL脚本监控JAVA进程的代码
- Python pip安装lxml出错的问题解决办法
- 提升jQuery的性能需要做好七件事
- perl命令行参数内建数组@ARGV浅析
- asp.net 网页编码自动识别代码
- PHP利用超级全局变量$_GET来接收表单数据的实例
- c语言动态数组示例
- MySQL prepare原理详解
- PHP实现原比例生成缩略图的方法
- php简单处理XML数据的方法示例
- javascript 主动派发事件总结
- android图像绘制(六)获取本地图片或拍照图片等图片资源
- jQuery前端框架easyui使用Dialog时bug处理
- jQuery UI Bootstrap是什么?
- JS在浏览器中解析Base64编码图像
- JS使用正则截取两个字符串之间的字符串实现方法详解
- 浅谈SQL SERVER数据库口令的脆弱性
- Listview加载的性能优化是如何实现的
- WebService 的简单封装接口调用方法
- 详解IWinter 一个路由转控制器的 Nodejs 库