我正在 Visual Studio Code 的 java 项目中运行构建任务。 “问题”选项卡中的警告:
[myfile].java是非工程文件,只报语法错误
它指的是我在包含 main() 的类文件中加载的第一行:
package [the project folder];
import [the project folder].[the file with other classes].*;
- 我只能通过将文件的文本(代码文本本身)复制到新的不相关文件夹中新项目的新 java 文件中来避免警告。代码本身是正确的并且编译没有错误。实际上,这就是答案,但它需要大量的手动工作。
- 当我只是将带有警告消息的项目的java文件复制到一个新文件夹中时,警告仍然出现!!!! (!)
- 当然,当我只是将整个项目文件夹复制到一个新位置时,错误仍然存在。
我猜将文本复制到具有相同名称和相同文件夹结构的新 java 文件与复制文件本身不同,因为文件可能被 VS Code 标记,因此即使文件夹结构被破坏,它们也有项目戳记。也许这支持从恢复的原始文件中恢复项目结构?这可能是这个 Visual Code 警告的问题吗?
我之前检查过其他线程,这只是最后一步。
–> 因此,我清理了 vscode 的 workspaceStorage(在 Windows 上: C:\Users\USER\AppData\Roaming\Code\User\workspaceStorage
)并重新启动但没有成功。
原文由 questionto42standswithUkraine 发布,翻译遵循 CC BY-SA 4.0 许可协议
我收到相同的警告仅仅是因为我在同一个 vscode 工作区中有两个 Java (Maven) 项目。一旦我将 projectA 移出工作区,projectB 的警告就消失了。
我当前的解决方案是为一个工作区设置一个 Java (Maven) 项目,即每个 vscode 工作区一个 Maven 项目。
我的猜测是 vscode 将同一工作区内的所有 Java 项目视为一个项目,因此项目相互干扰。