gpt4 book ai didi

Java 8 无法在 Macos Catalina 中写入文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:18:24 24 4
gpt4 key购买 nike

我昨天已经升级到 Catalina (10.15.1 (19B88)),现在我的 java 项目无法正常工作。

应用程序应生成的所有文件均未创建:日志、csv 文件、使用 FileWrite(...).write(...) 写入的内容等。

我的 Spring Boot 项目应该创建多个日志(在 Mojave 上就是如此),但升级后它们都不起作用。另外,当我使用 FileWriter 以编程方式创建文件时,出现以下异常:

Caused by: java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method) ~[na:1.8.0_212]
at java.io.File.createNewFile(File.java:1012) ~[na:1.8.0_212]

我尝试了多种不同的方法,但仍然没有成功。我尝试过:

  • 更新到最新版本的 java 8,1.8.0_231
  • 将所有路径移动到我的主目录/Users/fd
  • 由于 Catalina 有了新卷并且我们有很多固定链接,因此我还尝试指向绝对路径 /System/Volumes/Data/Users/fd

找到了这个Oracle notes其中指出:

Changes introduced with macOS 10.15 (Catalina) cause certain Java applications to behave incorrectly. Therefore, we cannot certify any JDK version on macOS 10.15 yet. If you still want to install and test the JDK or JRE on macOS 10.15, then this document covers what you will experience as you install the JDK or JRE.

...但是没有说明java无法创建文件的问题。

有谁知道如何解决这个问题吗?

最佳答案

新版 JDK 更新 232 发布后,一切正常。

我使用的运行良好的 JDK 版本是:

java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)

关于我遇到的与根目录中存储的目录相关的所有失败问题,我能够通过合成链接方法修复它。

我必须在 /etc 中创建 synthetic.conf 文件并创建,内容如下:

$cat /etc/synthetic.conf
myappdir System/Volumes/Data/Users/federicop/myappdir

有关 Catalina 合成(符号)链接的更多信息,您可以查看 man Synthesis.conf

关于Java 8 无法在 Macos Catalina 中写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58661461/

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