设置springboot项目默认不加载application.properties文件

我们都知道,springboot项目启动时会默认把classpath目录下的application.properties文件作为系统配置文件,但如果我们想根据自己的意愿加载别的文件,比如beans.xml、config.xml等等。

设想一个场景,项目中有四个环境的配置,如开发、测试、压测和生产,分别对应下图中标识的四个文件,通过application.properties中的spring.profiles.active属性来指定不同的环境。比如spring.profiles.active=dev说明项目启动时读取的是application-dev.properties中的配置。
在这里插入图片描述

但是,在某种情况下我们不想通过spring.profiles.active来决定加载哪个文件,那么怎么做呢?
可通过下面的代码实现:

@SpringBootApplication
public class SpringbootTestApplication {

	public static void main(String[] args) throws IOException {
		Properties properties = new Properties();
		//这里指定加载的是application-uat.properties文件的配置
		InputStream inputStream = SpringbootTestApplication.class.getClassLoader().getResourceAsStream("application-uat.properties");
		properties.load(inputStream);
		SpringApplication app = new SpringApplication(SpringbootTestApplication.class);
		app.setDefaultProperties(properties);
		app.run(args);
	}

}

但是,仅仅这样做还不够,我们要把application.properties文件名字修改一下,如果不修改那么无论程序怎么改动,默认加载的还是application.properties文件。

### 解决Spring Boot项目中缺少`application.properties`文件的问题 在Spring Boot项目中,如果缺少`application.properties`文件,可能会导致配置加载异常或其他运行时错误。以下是关于如何解决此问题的详细说明: #### 1. 默认路径与命名规则 Spring Boot默认会在项目的`src/main/resources`目录下查找名为`application.properties`或`application.yml`的配置文件[^3]。如果没有找到这些文件,则可能导致某些功能无法正常工作。 #### 2. 手动添加`application.properties` 如果确实缺失该文件,可以在上述指定位置手动创建一个`application.properties`文件。即使文件为空,也可以满足框架的基本需求。例如: ```properties # 这是一个简单的application.properties文件示例 server.port=8080 spring.application.name=my-app ``` #### 3. 配置其他替代方案 如果希望使用默认名称或路径,可以通过设置环境变量或命令行参数来指定自定义配置文件的位置。例如: ```bash java -Dspring.config.location=/path/to/config/application.properties -jar myapp.jar ``` 这种方式允许开发者灵活调整配置文件的位置和名称[^4]。 #### 4. Maven依赖冲突排查 有时,由于Maven依赖版本匹配或者本地仓库损坏,也可能间接引发此类问题。可以尝试清理并重新下载依赖项: ```bash mvn clean install -U ``` 另外,如果遇到类似`NoClassDefFoundError`这样的错误,可能是因为使用的第三方库版本过旧或存在兼容性问题。此时可参考如下方法更换镜像源以获取最新稳定版JAR包[^2]: 编辑`${MAVEN_HOME}/conf/settings.xml`文件,在其中增加阿里云镜像配置片段即可。 --- ### 总结 通过以上措施能够有效应对因缺乏必要资源而导致的各种潜在隐患;同时提醒广大使用者务必重视基础架构搭建环节中的每一个细节部分以免后续维护成本过高!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值