【发布时间】:2023-03-23 01:16:01
【问题描述】:
我有一个 Maven 项目,我正在使用 One-Jar Maven 插件将它打包为一个胖 jar。根据 One-Jar 站点上的this page,必须使用 One-Jar 打包应用程序以特殊方式完成资源加载,但是该文档并未涵盖如何以不依赖于其自定义类的方式列出资源装载机。
我的问题是:如何以与包装无关的方式在内部 jar 中列出我的类路径根目录的内容,这意味着不假设它总是在这种特殊的包装中?如this SO question 中所述,Spring 的PathMatchingResourcePatternResolver will not work 因为Spring 的DefaultResourceLoader 忽略了类加载器。
注意:我能找到的最接近的 SO 问题是 this question,但这并没有解决嵌套 jar 中的类路径资源列表。
【问题讨论】:
-
PathMatchingResourcePatternResolver确实有一个接受ClassLoader的重载构造函数,如果你能得到OneJar的话。 -
如果我不想将它绑定到
OneJar框架怎么办?似乎是关于从嵌套 jar 加载资源的更一般的问题。
标签: java jar resources classpath uberjar