Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javafx clojure.java.io/resource返回nil_Javafx_Clojure_Fxml_Fxmlloader - Fatal编程技术网

Javafx clojure.java.io/resource返回nil

Javafx clojure.java.io/resource返回nil,javafx,clojure,fxml,fxmlloader,Javafx,Clojure,Fxml,Fxmlloader,我需要在Clojure中加载一个基于fxml的JavaFX场景, 但是当我尝试加载资源“view.fxml”时,它返回nil 这是我目前的代码: (ns ui.ui_controller (:import (javafx.application Application) (javafx.fxml FXMLLoader) (javafx.scene Scene) (javafx.stage Stage))) (gen-class :name ui.ui_

我需要在Clojure中加载一个基于fxml的JavaFX场景, 但是当我尝试加载资源“view.fxml”时,它返回nil

这是我目前的代码:

(ns ui.ui_controller
(:import (javafx.application Application)
       (javafx.fxml FXMLLoader)
       (javafx.scene Scene)
       (javafx.stage Stage)))

(gen-class
:name ui.ui_controller
:extends javafx.application.Application)

(defn -main [& args]
(Application/launch ui.ui_controller args))

(defn -start [this stage]

 (let [loc (clojure.java.io/resource "view.fxml") 
    root (FXMLLoader/load loc)]

(.setScene stage (Scene. root))
(.setTitle stage "JavaFXML with Clojure Example")
(.show stage)))
在resources文件夹中是view.fxml文件,应该加载该文件

在调用(println(clojure.java.io/resource“view.fxml”)时,它返回nil

知道这里出了什么问题吗

谢谢

下面是一个例子

(ns tst.clj.core
  (:use clj.core
        clojure.test )
  (:require
    [clojure.java.io :as io]
  ))

(def words (slurp (io/file (io/resource "count.txt"))))
(println words)


> ls -ldF resources/count.txt 
-rw-rw-r-- 1 alan alan 14 Jan  3 09:01 resources/count.txt

> cat resources/count.txt
one
two
three

> lein test

one
two
three

我猜你的环境有问题。在
参考资料
中使用一行文本文件,尝试创建一个新的测试项目。您应该能够用
slurp
阅读它。谢谢!我做了一个新的项目,它的工作。我将为我的应用程序创建一个新项目。我在我的项目中添加了:resource path[[“lib/jfxrt.jar”]。clj,我不知道为什么…删除它后,它会工作。我想您刚刚演示了默认设置是
:resource path[“resources”]
,并且您无意中覆盖了它。