子jar如何访问父Jar类路径上存在的资源?

问题描述 投票:0回答:1

我有父母罐子。该父 jar 在其类路径上有一个资源。该父 jar 嵌入了一些第 3 方依赖项 jar(子 jar)。子 jar 有一些 java 代码,尝试使用路径访问文件

new File(pathToParentResourceFile)

这会出现文件未找到的异常。该文件可在父 jar 中访问。如果我将此文件路径传递给子 jar,那么它似乎无法访问。

注意 - 我无法编辑子 JAR 的代码,因为它是第 3 方库。

我的 jar 是一个 osgi 包。我可以通过多种方式访问 Parent Jar 中的资源。一旦我获得了资源,我也获得了路径。但是当子 jar 使用此路径时,找不到文件。

java maven osgi classpath
1个回答
0
投票

您应该尝试解析父 jar 中的资源,然后再将其传递给子 jar,一个示例是使用 URL:

import java.net.URL;

URL urlToFile = this.getClass().getResource("path/to/file");
ChildJar childJar.methodThatRequiresParentResource(urlToFile);
© www.soinside.com 2019 - 2024. All rights reserved.