这个问题在这里已经有答案了:
在构建Java9模块的gradle项目中,资源文件放在哪里(2个答案)
从外部模块访问资源文件(2个答案)
如何在Java9中使用类加载器访问资源(2个答案)
如何让自动模块在Java9中找到自己的资源(1个答案)
两年前关门了。
我注意到,当我在intellij中运行/调试模块化Java11应用程序时,我无法获得资源,但是当我使用gradle的时 run
它工作得很好。
加载资源.java
package com.example;
public class LoadResource {
public static void main(String ... args) {
new LoadResource().run();
}
private void run() {
System.out.println("TEST");
final var resource = getClass().getResource("Foo.txt");
System.out.println(resource.toExternalForm());
}
}
module-info.java模块
module LoadResource {
exports com.example;
}
构建.gradle
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.5'
}
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
repositories {
mavenCentral()
}
mainClassName = 'LoadResource/com.example.LoadResource'
更新:添加
run {
doFirst {
println commandLine
}
}
显示gradle显然执行了 [C:\Program...\bin\java.exe, -Dfile.encoding=windows-1252, -Duser.country=US, -Duser.language=en, -Duser.variant, -cp, D:\\load-resource\build\classes\java\main;D:\\load-resource\build\resources\main, null]
.
你可以在这里找到我的示例项目。
暂无答案!
目前还没有任何答案,快来回答吧!