当我用javac编译一个Java文件时,它会响应错误not a file(而不是file not found):
所以我尝试在WSL环境中编译它,它编译相同的文件.然后,我意识到这可能是因为我把文件放在OneDrive下,所以我将它移出OneDrive并再次尝试,然后javac工作:
之后,我在Onedrive下创建了一个空的java文件并再次尝试,这也显示not a file错误:
然后,我开始意识到当我在PowerShell中"dir"时,OneDrive下的文件模式包含一个"l"符号,表示"重新分析点".虽然我真的不明白这意味着什么,但我很好奇是否因为l我无法编译java文件.或者是否还有其他潜在问题.
Mon*_*Kin 11
在您发布的第一张图片中,您可以看到:
> dir
Mode Name
-a---l helloworld.java
Run Code Online (Sandbox Code Playgroud)
那么,l模式结尾意味着什么helloworld.java不是文件,它是一个符号链接.这javac就是告诉你的.
您在第二个图像中发布的示例有效,因为该图像实际上是一个文件(请参阅模式列说明-a----).
问题是由OneDrive引起的,我们看到的文件实际上并不是文件,而是指向那些文件的链接.要避免此问题,请不要将Java文件放在OneDrive文件夹中.
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |