springboot 项目使用 -Xbootclasspath 扩展读取配置文件
发布于 2024-07-21
1147
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
BUG弄潮儿
扫码关注公众号
扫码阅读
手机扫码阅读
问题说明
在SpringBoot项目中使用代码读取自定义配置时,如果不使用-Xbootclasspath/a启动参数,读取的配置文件路径是jar包内部的路径。而使用-Xbootclasspath/a参数后,路径则指向jar包外部的配置文件。
解决方案说明
BootStrap class扩展方案
Java提供了通过-Xbootclasspath实现BootStrap级别class的扩展方式,包括完全替换搜索路径(不推荐)、在搜索路径后面添加(推荐)、以及在搜索路径前面添加(不常用)。
extend class扩展方案
Java的扩展类默认会搜索Java_home目录下的jre/lib/ext路径。将第三方jar包复制到ext目录下即可自动被搜索到。
User class扩展方案
当使用-jar执行可执行jar包时,JVM会将jar包目录设为codebase并从这里开始搜索所有class。可以通过修改Manifest文件,并在其中指定Class-Path来引用第三方jar包,但无法通过此方法加载jar包内部或网络上的资源。推荐使用Java命令行的-Xbootclasspath/a参数来扩展类路径。
由于Java安全机制的变动,不同JDK版本会影响核心类的行为,因此发布应用时应明确指定开发和测试时使用的JDK版本。
BUG弄潮儿
BUG弄潮儿
扫码关注公众号
项目总延期怎么办?
通过目标拆解、任务分派、进度追踪与质量闭环,实现从计划到交付的全流程可控。
查看项目管理方案
BUG弄潮儿的其他文章
技术文章对你也许没什么用,但是希望这篇对你有那么一点启发
再朴实无华的文章也不能唤醒你
验证码都有什么类型,附项目分享
验证码几乎是所有软件项目不可或缺的一块逻辑。验证码实现方式也是多种多样。图片数字,字母验证码邮件验证码短信验
JNI:如何操作数组
1. 数组的分类数组分为两种基本数据类型的数组对象类型(Object[])的数组一个能通用于两种不同数据类型
nps与npc内网穿透搭建
1.简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何
Springboot 之 Filter 实现超大响应 JSON 数据压缩
简介项目中,请求时发送超大 json 数据外;响应时也有可能返回超大 json 数据。《Springboot
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线