gpt4 book ai didi

Clojure:clojure.java.io/resource 如何加载文件?

转载 作者:行者123 更新时间:2023-12-02 12:04:28 26 4
gpt4 key购买 nike

clojure.java.io/resource 可以从类路径但在 jar 文件之外加载文件吗?当我将文件放在 jar 文件中时,它会加载文件,但是当我将文件放在 jar 外部但在类路径中时,它不会加载文件。

示例

jar 名称:hello.jar jar 内有文件 hello.txt

java -jar hello.jar 

我发现使用下面的行读取文件 hello.txt 文件没有问题

(->
"hello.txt"
(clojure.java.io/resource)
(clojure.java.io/file)
(slurp))

但是当我将 hello.txt 放在 jar 之外但在类路径中时,它无法加载文件。

java -cp . -jar hello.jar 

hello.txt 文件与 hello.jar 文件位于同一目录中。

兄弟,马蒙

最佳答案

您不能以这种方式混合 -cp-jar cmdline 参数。你可以做...

java -cp ".:hello.jar" com.foo.Class  # should use ; instead of : on Windows

或添加

Class-Path: /some/dir/with/hello /some/dir/with/hello/hello.jar

包含本地目录的 jar META-INF/MANIFEST.MF 文件的条目。( details )

我建议您不要使用 .作为目录,因为如果 jar 文件移动,这很容易出现错误或可能出现安全问题。

关于Clojure:clojure.java.io/resource 如何加载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com