java - 如何获取jar文件的ResourceAsStream

标签 java maven jar

如何使用 getResourceAsStream 方法获取 jar 文件(在 Maven 依赖项内)?

enter image description here

我尝试了以下方法,结果返回 null:

InputStream is = App.class.getResourceAsStream("jquery.js");

最佳答案

getResourceAsStream() 返回 null 的原因可能有多种。

  • 您应该给出 jar 文件内的完整路径,以以下开头 “/”,否则返回null。
  • 如果你的主类文件和jar文件不是由同一个加载的 类加载器,那么它将返回 null。在这种情况下,您需要使用用于加载 jar 文件的相同类加载器。要对此进行测试,请使用 jar 文件内的类文件来获取类加载器,并使用该类加载器的 getResourceAsStream 方法。
  • 此外,由于依赖项位于 maven 中,因此请确保依赖项是运行时的。不是编译时间。范围不应该是“编译”

关于java - 如何获取jar文件的ResourceAsStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40390598/

相关文章:

java - Android:使用 findViewById(ID) 时的静态引用/非静态方法

java - (JAVA) 使用命令提示符从多个 .class 文件创建 .jar 文件

java - 使用源生成 jar

java - 如何使用java将4位儒略日期(yDDD)转换为日历日期格式,如MM/dd/yyy?

java - 如何在文件中存储 SoapObject 或 Envelope

java - Android 如何显示已下载文件的列表?

maven - BND 将相同的包放入 manifest.mf 的导出和导入部分

maven - java.lang.ClassNotFoundException : org. 休眠.cache.EhCacheProvider

java - Anypoint Studio Maven 在错误的 java 目录中查找 tools.jar

Maven 依赖插件复制带有依赖项的 jar