繁体   English   中英

VS Code:声明的包“controller”与预期的包“”不匹配

[英]VS Code: The declared package "controller" does not match the expected package ""

因此,我检查了一些与此主题相关的其他主题,例如:

Eclipse 说包声明与预期的包“”不匹配

声明的包测试与预期的包不匹配

libgdx: 声明的包与预期的包“”不匹配

但它们都与 Eclipse(或 Eclipse + Maven)打交道,而我只是在使用 VS Code,而没有 IDE 或包管理器的所有奇特功能。

正如标题所示,我收到消息:[Java] 声明的包“controller”与预期的包“”不匹配

对于我尝试使用以下语法提供包的每个文件,我都会收到此消息:

package myPackageName;

即使有问题的文件肯定在正确的文件夹中。 此问题仅作为视觉出现,即使用 javac 编译一切正常。 自从我开始为我的 Java 项目使用 VS Code 以来,我就一直在处理它。

在感知到包错误的情况下,如何使文件浏览选项卡中的红色波浪形和红色字体消失? 这让我很抓狂,我无法快速找到我的项目中实际上有错误的文件,因为除了驱动程序之外的所有内容都标记为红色。

这是一张图片:图片

[edit] 摆脱了不相关的编译时错误所以你可以看到它编译。

包中的所有类都应该在 VSCode 上打开(在不同的选项卡上)。 当你想在同一个目录中使用其他公共类时,也会发生同样的事情:它应该是可见的,但是当你运行程序时,你会得到一个编译时错误。 然后解决方案是在不同的选项卡上打开所有类。 希望能帮助到你

有点晚了,但这是我的发现:

你的父文件夹是proto9 ,所以在你所有的子文件夹中,即controllermodelview 你应该写package proto9.controllerpackage 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM