flink开发中根据环境加载不同配置踩坑

📅 2026/7/13 18:44:52 👁️ 阅读次数 📝 编程学习
flink开发中根据环境加载不同配置踩坑

记录今天工作中遇到的问题,因为有三个环境的开发,test,pre,prod,如果要写三套代码那就有点不符合程序员的做事习惯。所以根据不同环境,加载不同配置就是很常用的方式。

无法加载配置文件

传入的参数变量已经读取到了,但是一直到了加载的properties的时候一直失败。来回改这一段代码,改来改去,我也没发现太大问题。实在没有办法,只能请教gpt。

StringfileName="application-"+env+".properties";Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)

解题思路

1、是否存在配置文件

一开始用了其他的ai,告诉我怎么改写代码一堆东西。之后我换了gpt,gpt首先告诉我的是要确认是否存在对应的配置文件。给我了一条命令,结果我居然没有配置文件。当时我用解压工具打开jar的时候是有配置文件的。带着怀疑的态度,我继续按照gpt的做。

jar tf xxx.jar|grepapplication

2、pom指定打包配置文件

在pom中添加了这一段,打包的时候要指定打包的资源文件。

<resources><resource><directory>src/main/resource</directory><includes><include>**/*.properties</include><include>**/*.xml</include><include>**/*.yml</include><include>**/*.yaml</include></includes></resource></resources>

3、再次验证

好这次成功了,flink作业也正常跑起来了。

总结

做过了,就是经验,就是积累。不要怕小,好记性不如烂笔头,每天一个小问题,一年就很不简单了。