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

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

无法加载配置文件

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

java 复制代码
String fileName = "application-" + env + ".properties";
Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)

解题思路

1、是否存在配置文件

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

shell 复制代码
 jar tf xxx.jar | grep application

2、pom指定打包配置文件

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

xml 复制代码
        <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作业也正常跑起来了。

总结

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

相关推荐
imbackneverdie16 分钟前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s
ApacheSeaTunnel2 小时前
为什么 Data Ingestion 还没有被 Fivetran/Airbyte 完全解决?
大数据·开源·数据集成·seatunnel·技术分享·数据同步·airbyte·fivetran
启雀AI2 小时前
科技企业如何沉淀研发知识,减少重复开发和经验流失?
大数据·科技·软件需求·知识库·知识管理
大大大大晴天3 小时前
Hudi技术内幕:Schema Evolution原理与实践
大数据
kiros_wang3 小时前
ExploreYC 新手快速入门与实战指南
大数据·人工智能·物联网
Mark0802033 小时前
人物设定生成器:小说创作中角色塑造的AI工具选择
大数据·人工智能
禾高网络3 小时前
互联网医院|AI 互联网医院成品开发系统
java·大数据·人工智能·小程序
雪兽软件4 小时前
通过大数据改变决策
大数据
AIGS0014 小时前
向量空间JBoltAI:本体语义如何跨越企业AI的语义鸿沟
java·大数据·人工智能·人工智能ai大模型应用
熊猫钓鱼>_>4 小时前
Electron:当 Web 技术统治桌面
大数据·前端·javascript·人工智能·架构·electron·agent