gpt4 book ai didi

java - 我应该将文件放在哪里,以便在运行 jar 时能够访问它们?

转载 作者:行者123 更新时间:2023-12-01 22:30:08 26 4
gpt4 key购买 nike

我将一些对象存储在文件中,并且在 Netbeans 控制台中一切正常。但是当我通过命令行(java -jar myapp.jar)运行 JAR 时,我得到了这个:

enter image description here

我应该将文件放在哪里才能通过命令行运行应用程序?

最佳答案

答案取决于您是否想写入文件......

你可以...

确保文件相对于 Jar 文件放置并使用相对路径。这样做的问题是,如果执行上下文与存储 jar 和文件的目录不同,您将无法再次找到它们...

这也取决于您的构建过程,以确保将任何所需的文件复制到 Jar 的构建位置

你可以...

将文件放置在众所周知的位置,例如,在 Windows 上您可以使用 {user.home}/AppData/Local/{application name} 或在 Mac 上您可以使用 {user.home}/Library/Application Support/{application name} 并将文件放在此处,然后您可以使用文件的绝对路径

这可能会成为一个安装问题,因为您需要确保在安装应用程序时将所有必需的文件复制到所需的位置。

如果文件是在运行时自动生成的,那么您只需确保目录存在,如果不存在则创建它们

你可以...

将文件存储在 Jar 上下文中(也称为嵌入式资源),执行此操作的方式取决于您的 IDE 和构建过程,例如,在 Netbeans 中,您可以将文件复制到 src 项目目录,它们将自动包含在生成的 Jar 文件中。我相信 Eclipse 也能以同样的方式工作。但是,如果您使用 Maven,则需要将文件放入 resources 目录中。

然后您可以使用 Class#getResource 访问这些资源或Class#getResourceAsStream根据您的需要。

但这将使资源变为只读。

关于java - 我应该将文件放在哪里,以便在运行 jar 时能够访问它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27974857/

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