[英]The declared package <package name> does not match the expected package "" in VS code
[英]VS Code: The declared package "controller" does not match the expected package ""
因此,我检查了一些与此主题相关的其他主题,例如:
但它们都与 Eclipse(或 Eclipse + Maven)打交道,而我只是在使用 VS Code,而没有 IDE 或包管理器的所有奇特功能。
正如标题所示,我收到消息:[Java] 声明的包“controller”与预期的包“”不匹配
对于我尝试使用以下语法提供包的每个文件,我都会收到此消息:
package myPackageName;
即使有问题的文件肯定在正确的文件夹中。 此问题仅作为视觉出现,即使用 javac 编译一切正常。 自从我开始为我的 Java 项目使用 VS Code 以来,我就一直在处理它。
在感知到包错误的情况下,如何使文件浏览选项卡中的红色波浪形和红色字体消失? 这让我很抓狂,我无法快速找到我的项目中实际上有错误的文件,因为除了驱动程序之外的所有内容都标记为红色。
这是一张图片:图片
[edit] 摆脱了不相关的编译时错误所以你可以看到它编译。
包中的所有类都应该在 VSCode 上打开(在不同的选项卡上)。 当你想在同一个目录中使用其他公共类时,也会发生同样的事情:它应该是可见的,但是当你运行程序时,你会得到一个编译时错误。 然后解决方案是在不同的选项卡上打开所有类。 希望能帮助到你
有点晚了,但这是我的发现:
你的父文件夹是proto9
,所以在你所有的子文件夹中,即controller
, model
和view
。 你应该写package proto9.controller
, package proto9.model
等。你可以在正确的目录中编译.java
文件,但不能 100% 确定为什么我们不能在文件目录中运行它, java.lang.NoClassDefFoundError
尝试这样做时会返回java.lang.NoClassDefFoundError
。
要成功运行它,请在终端中(假设您的文件已编译):
# cd one level out of your parent directory
PS C:\Users\Issac\Dropbox\Apps\Celerious Text\proto9> cd..
PS C:\Users\Issac\Dropbox\Apps\Celerious Text> java proto9.controller.MainController
...
PS C:\Users\Issac\Dropbox\Apps\Celerious Text> java proto9.view.MainView
等等
希望这对你也有用!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.