当前位置: 首页 > 知识库问答 >
问题:

GetResource方法在java 11中不起作用

家西岭
2023-03-14

这是我的模块信息:

open module org.client.main {
    exports org.apj.client.app;
    requires javafx.controls;
    requires javafx.base;
    requires javafx.fxml;
    requires spring.context;
    requires spring.web;
    requires java.sql;
    requires spring.beans;
    requires spring.core;
}

这是我的父gradle构建文件:

subprojects {
    afterEvaluate {
        repositories {
            jcenter()
        }

        compileJava {
            doFirst {
                options.compilerArgs = [
                        '--module-path', classpath.asPath,
                ]
                classpath = files()
            }
        }

        compileTestJava {
            inputs.property("moduleName", moduleName)
            doFirst {
                options.compilerArgs = [
                        '--module-path', classpath.asPath,
                        '--add-modules', 'junit',
                        '--add-reads', "$moduleName=junit",
                        '--patch-module', "$moduleName=" + files(sourceSets.test.java.srcDirs).asPath,
                ]
                classpath = files()
            }
        }

        test {
            inputs.property("moduleName", moduleName)
            doFirst {
                jvmArgs = [
                        '--module-path', classpath.asPath,
                        '--add-modules', 'ALL-MODULE-PATH',
                        '--add-reads', "$moduleName=junit",
                        '--patch-module', "$moduleName=" + files(sourceSets.test.java.outputDir).asPath,
                ]
                classpath = files()
            }
        }
    }
}

这是我的客户端模块构建文件:

plugins {
    id 'java'
}

group 'APJ'
version '1.0-SNAPSHOT'

sourceCompatibility = 11

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.springframework', name: 'spring-webmvc', version: '5.1.4.RELEASE'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

ext.moduleName = 'org.client.main'

我正在尝试获取FXMLLoader的资源,但我根本无法让它工作。我已经挣扎了两个小时,现在我真的很绝望。我尝试了所有可能的文件名组合,每个可能的位置,但仍然返回null。

我还尝试了ClassLoader。getSystemClassLoader()。getResource(“/login.fxml”)getClass()。getResource(“/login.fxml”),但它也不工作。

有人能帮我吗?我将非常感激。

共有2个答案

於功
2023-03-14

因此,我使用java解决了我的问题。木卫一。文件。首先,我创建了一个新文件,并检查了它的保存位置。然后,由于我现在知道了根目录,我找到了我的资源路径并创建了一个新的文件对象-File myFile=new File(“path\u to\u my\u resource”)。然后我使用toURI和toURL方法得到了URL-myFile。toURI()。toURL()

这绝对是黑客,但如果有人像我一样挣扎,它可以作为一个快速修复。

太叔小云
2023-03-14

我注意到,使用Java 11,有两个选项可以使getResource正常工作:

>

  • 使用插件'org.openjfx.javafxplugin'版本'0.0.7'
  • 在上面Slaw提供的链接中使用'--patk-模块':在构建Java9模块的Gradle项目中,资源文件去哪里?

    run {
    doFirst {
        jvmArgs = [
                '--module-path', classpath.asPath,
                '--patch-module', "$moduleName=" + files(sourceSets.main.output.resourcesDir).asPath,
                '--module', mainClassName
        ]       
    }
    }
    

  •  类似资料:
    • 我正在使用演示APi(http://dummy.restapiexample.com/update) 我有一个响应类UpdateResponse 我有一个Api类和一个APIInterface 和对话框而不是主活动 在APIInterface中使用PUT方法有一个@path(id)和三个@fields(name、salary、age) 下面是UpdateResponse类代码 Api接口代码如下

    • PUT方法在django rest框架中不起作用。 模型。派克 对应视图 当我请求页面(GET)时,它显示相应的细节(配置文件细节)。但是当我提交页面(PUT)时,它仍然转到部分,而不是。当我使用REST视图时,它工作得很好。问题出在网页视图(html)上。我错过了什么?感谢任何帮助 HTML页面

    • 我尝试使用post方法生成表单,我想检查字段是否用isset()填充。但即使字段为空,isset也会返回true。 下面是一个简化的代码:(页面名称:test.php,post方法指向自身) 当您提交时,它总是响应“字段集”,即使您没有在“测试”输入中输入任何内容。 谢谢你的回答!

    • 编写一个程序来检查列表中是否存在给定的数字。如果存在,则显示元素在列表中的位置。如果该元素不存在,则将该元素添加到列表中。

    • 我从Spring文档中获得了以下内容: 现在我已经为测试目的创建了一个控制器。它有一个GET和一个POST方法,每个方法都只使用@requestparam java.util.map作为参数。在方法体中,我只是试图打印地图的大小。当我只在GET方法中发送请求(GET/post)时,映射包含任何键/值对。我在Firefox中使用海报插件,我发送了三个参数。 你们中有谁知道为什么@RequestPar

    • 我有WebView,它正在使用JS加载超文本标记语言。从WebView我调用JS函数,它正在寻找超文本标记语言中的一些文本。在此函数中,我有将WebView滚动到下一个匹配文本的命令: 如果我将WebView放在ScrollView中(如下面的代码所示),WebView将不会滚动(即使命令< code>webView.scrollTo(x,y)也不会滚动)。但是如果我把它放在ScrollView之