我有一个Intellij 12的目录结构:
...
...test
- java
- com.mycompany.myproject
- package1 (contains code, etc,.)
- resourcePackage (want to contain .json files but can't mark as a resource)
- myOtherJunk.json
- o o o
- resources
- aResource.json
Run Code Online (Sandbox Code Playgroud)
问题是,如果我右键单击我的包名(com.mycompany.myproject),我只能添加包而不是目录(如现有资源文件夹的目录).
但是,我不想将我现在要读取的.json文件的现有资源文件夹用于我的测试类.
所以,我需要一些东西来支持:
// this already works for the resources directory per the .json file but doesn't for the
// myOtherJunk.json per the resourcePackage.
InputStream is = MyClassTest.class.getResourceAsStream("aResource.json");
Run Code Online (Sandbox Code Playgroud)
WeM*_*are 18
这可以通过几种方式解决.一个好的方法的例子是以下文件夹结构:
src
main
java
resources
test
java
resources
Run Code Online (Sandbox Code Playgroud)
完成后,将所有java类放在src/main/java/com.mycompany包下,将所有资源放在/src/main/resources/com/mycompany文件夹下.
要将它们链接在一起,请转到项目属性,然后找到"路径"选项卡.标记src/main/java和src/main/resources作为源文件夹.(见随附的屏幕截图)
如果将它们链接在一起,您将能够使用getResourceAsStream()方法.如果你想知道为什么你应该使用下列文件夹结构-这是标准的Maven让事情整洁的方式.
| 归档时间: |
|
| 查看次数: |
25639 次 |
| 最近记录: |