Wil*_*Dev 3 java resources classpath classloader gradle
我试图访问Java应用程序中的资源(标记为)文件夹,但没有任何作用,返回错误的路径
我试过了:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
System.out.println(classLoader.getResource("."));
Run Code Online (Sandbox Code Playgroud)
和
ClassLoader classLoader = Config.class.getClassLoader();
System.out.println(classLoader.getResource("."));
Run Code Online (Sandbox Code Playgroud)
但它告诉我
file:/D:/testProject/build/classes/main/,当然没有资源文件:(
如何准确访问resources文件夹?
-TestProject
|-resources
|-src
|-main
Run Code Online (Sandbox Code Playgroud)
要知道,这个词的资源在你的摇篮结构和词的资源中ClassLoader是不相关的.
由于您ClassLoader可能拥有多个根,因此需要遍历根.用getResources()而不是getResource().请参阅http://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html#getResources-java.lang.String-
像这样:
ClassLoader classLoader = Config.class.getClassLoader();
// or use:
// ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
// depending on what's appropriate in your case.
Enumeration<URL> roots = classLoader.getResources(".");
while (roots.hasMoreElements()) {
final URL url = roots.nextElement();
System.out.println(url);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1619 次 |
| 最近记录: |