Java 的 getResource 问题

现在有个项目 A,目录如下:

project
   |- src
      |- com
          |- test 
              |-a.java
   |-conf 
     |- test
         |- b.xml
     |-c.xml

我需要在 a.java 中加载 b.xml 和 c.xml。
在测试和使用的过程中,会有三种场景:

  1. 项目 A 本身内部代码的测试。
  2. 另一项目 B 在 IDE 上做对 A 的项目依赖,在 B 中使用。
  3. 项目 A 的编译后文件和 conf 目录一起打成 jar 包,导入另一项目 C 使用。

很明显,我需要的加载方式必须在这三种场景下都正常工作。

我研究和测试了一下 getResource() 方法,但似乎它对 conf 和 src(bin) 平级的方式无能为力?
请问我使用 getResource() 之前还需要做什么工作吗?比如将 conf/ 加入到 classpath?

阅读 3.2k
1 个回答

1.首先肯定要把conf加入classpath。
2.打包jar后,在jar包内获取资源,最好用getResourceAsStream方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题