java - 如何直接使用Java主资源文件夹中的JAR文件

标签 java eclipse maven jar

这可能是一个有点不寻常的问题,但我有一个独特的情况,这样的事情对我来说是一个很好的解决方案。

我的 src/main/resources 中有一个 jar 文件(称为 engine.jar)。我如何从我的主 JAVA 类中直接使用这个 jar? (将其添加到构建路径中?)但是....

我的 Maven 依赖项库中有另一个 JAR 文件(名称完全相同,即 engine.jar),其代码略有不同。我想稍后在我的主课中使用这个 jar 。

最佳答案

Maven 资源文件夹的内容被复制到 target/classes,并从那里复制到生成的 Jar 文件的根目录。这是预期的行为。

我不明白你的场景中存在什么问题。通过 getClass().getResource("/filename.txt") 引用资源从类路径的根开始,无论它(或其元素)是 target/classes或 JAR 的根目录。我看到的唯一可能的错误是您使用了错误的 ClassLoader .

确保使用该资源的类与该资源位于同一个 Artifact (JAR) 中,并执行 ThatClass.class.getResource("/path/with/slash") or ThatClass.class.getClassLoader().getResource("path/without/slash").

但除此之外:如果它不起作用,您可能在构建过程中的某个地方做错了什么。您能否验证该资源是否在 JAR 中?

关于java - 如何直接使用Java主资源文件夹中的JAR文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885463/

相关文章:

java - 如何使用 Google App Engine Java 平台开发 Web ui

java - 当我启动 Eclipse 时退出代码=127

java - 本地主机上的 Apache Tomcat 8 无法启动 - eclipse

java - 安装到 Maven 中的另一个本地存储库 [JAVA]

java - 基于 Crc 从 Artifactory 下载 Artifact

java - PreparedStatement 中的参数验证

java - Maven "class file for ... not found"编译错误

java - Android 谷歌地图不断崩溃

java - 使用 artifactory/maven 的配置和属性文件的最佳实践

java - 自定义 Maven 插件和库