在 IntelliJ IDEA 中运行/调试时无法获取资源。

11 浏览
0 Comments

在 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]

你可以在这里找到我的示例项目。

0