首页 > 解决方案 > OpenJDK 在 Ubuntu 上看不到文件

问题描述

我在我的 Unbuntu 机器上安装了 OpenJDK 14.0.2 2020-07-14。

以下返回 false,即使文件存在:

// returns false
new File("/usr/bin/firefox").exists();

我只是使用以下方法检查了它:

ls -lh /usr/bin/firefox
lrwxrwxrwx 1 root root 25 Dec 14 03:54 /usr/bin/firefox -> ../lib/firefox/firefox.sh

我桌面上的文件可以正常工作:

// returns true
new File("/home/dev/Desktop/notes").exists();

我在 Python 中尝试了同样的事情:

# returns True
os.path.isfile("/usr/bin/firefox")

我需要更改 OpenJDK 安装中的某些内容以允许它查看这些文件吗?

我安装了 OpenJDK 14,apt所以我可以在列表中看到它:

openjdk-14-jdk-headless/groovy,now 14.0.2+12-1 amd64 [installed]
openjdk-14-jre-headless/groovy,now 14.0.2+12-1 amd64 [installed,automatic]

一如既往的感谢!


更新

经过进一步调查,这只发生在 IntelliJ IDEA 中(我使用的是 2020.3)。如果我从命令行运行我的测试,这工作得很好,所以我认为这是一个 IDE 问题。我会发布我发现的任何更新。

我用来在本地测试的命令:

mvn test -Dtest=com.sometesting.TestFileExists

标签: javaubuntuintellij-idea

解决方案


我实际上能够解决这个问题。

问题似乎是我通过 flatpak 安装了我的 IDE。当我从安装的 flatpak 中删除 IntelliJ IDEA 并手动下载并自行安装时,一切正常。我浏览并找到了其他一些可以重现该问题的 flatpak 项目。

如果其他人有问题,我建议看看这个:

https://davejansen.com/give-full-filesystem-access-to-flatpak-installed-applications/


推荐阅读