Jgit 抛出 java.io.IOException:为 /.config/jgit 创建目录失败

Jgit throws java.io.IOException: Creating directories for /.config/jgit failed

最近将 Jgit 升级到 5.10.0.202012080955-r。在此之后,我们在克隆一个裸 git 存储库后得到 IOException。到目前为止,它似乎没有造成任何可见的功能影响,但它是一个令人担忧的原因。 此问题仅出现在 Kubernetes 部署中,未出现在 Junit 测试中。 这是一个已知问题吗?如果是,是否有任何解决方法或此处缺少任何内容?

谢谢。

[36morg.eclipse.jgit.util.FS                [0;39m [2m:[0;39m Cannot save config file 'FileBasedConfig[/.config/jgit/config]'

java.io.IOException: Creating directories for /.config/jgit failed
    at org.eclipse.jgit.util.FileUtils.mkdirs(FileUtils.java:411) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
    at org.eclipse.jgit.internal.storage.file.LockFile.lock(LockFile.java:130) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
    at org.eclipse.jgit.storage.file.FileBasedConfig.save(FileBasedConfig.java:219) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
    at org.eclipse.jgit.util.FS$FileStoreAttributes.saveToConfig(FS.java:735) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
    at org.eclipse.jgit.util.FS$FileStoreAttributes.lambda(FS.java:424) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
    at org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda60/0x00000000f4008230.run(Unknown Source) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:836) ~[na:na]

在这种特殊情况下,Jgit 试图在基于 XDG_CONFIG_HOME.

的路径上创建配置文件

如果未设置XDG_CONFIG_HOME,它将具有默认值$HOME/.config。在我的 Kubernetes 环境中无法访问此特定路径。

已更改 XDG_CONFIG_HOME 以指向适当的路径。因此 Jgit 将能够创建配置文件。

设置XDG_CONFIG_HOME对我不起作用。 我正在使用 windows 机器,下面的东西对我有用。

在你的程序中传递以下环境变量

HOMEDRIVE=C:;HOMEPATH=\Users\<YourUserName>