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>
最近将 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>