Bootstrap

加载依赖模块中的资源文件

问题

需求是有一部分资源文件在整个项目的其中一个模块下,需要在项目启动的时候去把这个模块下的某些文件拷贝到另一个路径,方便第三方程序使用。

解决

最开始使用

this.getClass().getClassLoader().getResource("").getPath();

这行代码获取到的资源地址是项目启动类所在模块的资源路径,获取到的路径不对

通过查阅资料:Java读取jar包的resource资源文件

使用下方代码成功获取资源路径

this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();

相关资料

[Java]-当前目录下文件读写
java11教程–类ProtectionDomain用法
JDK文档 - Class ProtectionDomain

;