djt*_*oms 10 java resources classpath gradle
我知道还有其他一些问题......
但我的问题似乎有点不同,因为我似乎有所有必要的事情没有这个问题.
代码:
this.getClass().getResource("checkstyle_whitespace.xml"); // null
Run Code Online (Sandbox Code Playgroud)
问题是我通过检查调试器中的类加载器来验证我的类路径.这就是我所看到的:
27 = {URL@1235} "file:/Users/dennis/Documents/Development/java/java-grader/build/classes/main/"
28 = {URL@1236} "file:/Users/dennis/Documents/Development/java/java-grader/build/resources/main/"
Run Code Online (Sandbox Code Playgroud)
Blow是tree我的目录结构的一个快速.见build/resources和src/main/resources.当gradle构建我的项目时,正在复制文件.
??? build
? ??? classes
? ? ??? main
? ? ? ??? javaGrader
? ? ??? test
? ? ??? javaGraderTest
? ??? resources
? ??? main
? ??? checkstyle_whitespace.xml
? ??? grammars
??? src
? ??? main
? ? ??? java
? ? ? ??? javaGrader
? ? ??? resources
? ? ??? checkstyle_whitespace.xml
? ? ??? grammars
? ??? test
? ??? java
? ? ??? javaGraderTest
? ??? resources
? ??? mini_test
??? target
? ??? classes
? ??? generated-sources
? ? ??? annotations
? ??? generated-test-sources
? ??? test-annotations
??? test_assets
Run Code Online (Sandbox Code Playgroud)
根据我的理解,文件应该是可访问的,因为它们在build.如果我错了,请纠正我......
JB *_*zet 13
如果传递的资源路径不是以/to 开头Class.getResource(),则类加载器会在类的包中查找资源.不是根源.你的代码应该是
this.getClass().getResource("/checkstyle_whitespace.xml")
Run Code Online (Sandbox Code Playgroud)
要么
this.getClass().getClassLoader().getResource("checkstyle_whitespace.xml")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6780 次 |
| 最近记录: |