在 IntelliJ IDEA 中运行/调试时无法获取资源。
在 IntelliJ IDEA 中运行/调试时无法获取资源。
我注意到在IntelliJ中运行/调试模块化的Java 11应用程序时,无法获取资源,但是当我使用Gradle的run
任务时,却没有问题。
LoadResource.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; }
build.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:\xxx\load-resource\build\classes\java\main;D:\xxx\load-resource\build\resources\main, null]
。
你可以在这里找到我的示例项目。