gpt4 book ai didi

Java jar无法访问资源

转载 作者:行者123 更新时间:2023-11-30 03:14:07 30 4
gpt4 key购买 nike

我需要执行一个 jar 文件,该文件使用位于某些子文件夹中的某些文件。

例如目录树可以是这样的:

jar_root/
├── executable.jar
├── folder1/
│ └── required_file1.txt

├── folder2/
│ └── required_file2.txt

├── other_folder/
│ └── ...
└── other_file.txt

在此示例中,executable.jar 需要访问 required_file1required_file2

我需要从另一个目录执行jar,所以我尝试了这个命令:

java -cp /path/to/jar_root/ -jar /path/to/jar_root/executable.jar <options>

但是我得到的是 required_file1 上的 FileNotFoundException (我猜 required_file2 也会引发相同的 Exception >)

如何让 jar 工作?

请注意,我无法修改 jar,因此我无法使用 getResourceAsStream,如 this 所建议的那样(和其他)答案。

最佳答案

这取决于 jar 中的代码如何尝试访问文件。如果使用相对路径,则只有从适当的工作目录启动程序才有效,例如:

cd /path/to/jar_root/ 
java -jar executable.jar <options>

另一种方法是通过绝对路径或类路径的相对路径而不是文件系统路径来引用文件。

关于Java jar无法访问资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33017145/

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