gpt4 book ai didi

javac 响应 "not a file"但文件存在

转载 作者:搜寻专家 更新时间:2023-11-01 01:20:17 25 4
gpt4 key购买 nike

当我用 javac 编译一个 Java 文件时,它返回错误 not a file(而不是 file not found):

enter image description here

所以我尝试在 WSL 环境中编译它,它编译了相同的文件。然后,我意识到可能是因为我把文件放在了OneDrive下,所以我把它从OneDrive里移出来,再试,然后javac就起作用了:

enter image description here

之后,我在Onedrive下创建了一个空的java文件,再次尝试,同样显示not a file错误:

enter image description here

然后,我开始意识到,当我在PowerShell中“dir”时,OneDrive下的文件模式包括一个“l”符号,代表“reparse point”。虽然不是很明白什么意思,但是很好奇是不是l的原因导致java文件无法编译。或者是否还有其他潜在的问题。

最佳答案

在您发布的第一张图片中,您可以看到:

> dir
Mode Name
-a---l helloworld.java

因此,模式末尾的 l 意味着 helloworld.java 不是文件,而是符号链接(symbolic link)。这就是 javac 告诉您的内容。

您在第二张图片中发布的示例有效,因为它实际上是一个文件(请参阅模式列显示 -a-----)。

问题是由 OneDrive 引起的,看起来我们看到的文件实际上并不是文件,而是指向这些文件的链接。为避免出现此问题,请勿将您的 java 文件放在 OneDrive 文件夹中。

关于javac 响应 "not a file"但文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48361702/

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