gpt4 book ai didi

JAVA和GIT如何管理外部资源。采取正确的技术

转载 作者:行者123 更新时间:2023-12-02 00:25:06 25 4
gpt4 key购买 nike

在 Java 项目中管理外部文件的正确技术是什么?或者更普遍地在任何项目中。

我目前正在使用 IDE IntelliJ,但我希望这是一个更通用的解决方案,而不是依赖于 IDE 的解决方案。

我有以下文件夹结构:

├── headers
│   └── header1
├── htmlfiles
│   └── reply1.html
├── out
│   └── production
│   └── WebApp-e01
│   └── ch
│   └── miao
│   └── webapp
│   └── server
│   ├── Content.class
│   ├── Request.class
│   └── Server.class
├── README.md
├── src
│   └── ch
│   └── miao
│   └── webapp
│   └── server
│   ├── Content.java
│   ├── Request.java
│   └── Server.java <-- MAIN HERE
└── WebApp-e01.iml

我从另一台笔记本电脑上的 git 克隆了该项目,因此绝对文件路径不再有效,因为用户名、项目名称、位置或许多其他内容可能不同。

所以这意味着任何类中的一行代码不再有效。

BufferedReader reader = new BufferedReader(new FileReader("/home/kevin/IdeaProjects/ApplicazioniWeb/htmlfiles/reply1.html"))

然后我尝试使用相对路径:

BufferedReader reader = new BufferedReader(new FileReader("./htmlfiles/reply1.html"))

如果我从 Intellij 运行它(因为魔法),那么它工作得“很好”,但如果我想从控制台以旧的方式运行它:

java ch.miao.webapp.server.Server

为了让它发挥作用,我必须再次改变!我的类中的路径,并且根据我使用的 IDE,它可能会发生变化,因为 inetellij 将所有内容放入 out/product/...但其他 IDE 的位置不同,如果您在团队中工作,这将是一场噩梦!

所以我想知道是否有一个通用的解决方案,在我从 git 克隆我的项目后,我可以从 IDE 运行我的程序或形成命令行并形成任何其他工作站,而不必更改我的文件路径。

最佳答案

您可以使用名为“user.dir”的 Java 系统属性。它的名称可能有点误导,因为它指向启动 JVM 的目录。

String workingDirectory = System.getProperty("user.dir");
File file = new File(workingDirectory + File.separator + "htmlfiles" + File.separator + "reply1");

关于JAVA和GIT如何管理外部资源。采取正确的技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58055587/

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