java - 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
解决方案
我实际上能够解决这个问题。
问题似乎是我通过 flatpak 安装了我的 IDE。当我从安装的 flatpak 中删除 IntelliJ IDEA 并手动下载并自行安装时,一切正常。我浏览并找到了其他一些可以重现该问题的 flatpak 项目。
如果其他人有问题,我建议看看这个:
https://davejansen.com/give-full-filesystem-access-to-flatpak-installed-applications/
推荐阅读
- sql - How to increase fetching speed of large data in SQL Server
- html - 如何使 EmailId 验证器忽略角度 6 中的大小写?
- azure - 将文件从 Spark 写入 CosmosDB 的问题
- sql-server - 将文件存储在数据库服务器中作为 FILESTREAM
- javascript - 仅显示样式一段时间然后删除
- javascript - 减少 CSS 样式
- python - 在大型排序列表中有效地找到大于某个值的最小数字的索引
- git - 由于主机密钥错误,无法在 jenkins 中使用 git fetch all
- javascript - 是否可以使用 javascript 为非 ajax 请求设置自定义标头?
- mongodb - 教义上是否有任何方法可以使用通过 ssh 隧道连接来连接 mongodb 或 sql