clojure.java.io/resource returns nil



我需要在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)))

资源文件夹中是 view.fxml 文件,应该加载该文件。

当调用时(println(clojure.java.io/resource"view.fxml")),它返回零...

知道这里出了什么问题吗?

谢谢!

下面是一个例子

(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

最新更新