VS代码:声明的包"控制器"与预期的包裹不匹配""

时间:2018-03-23 23:05:05

标签: java visual-studio-code package

所以,我已经检查了一些关于这个主题的其他线程,例如:

Eclipse says package declaration does not match expected package ""

The declared package test does not match the expected package

libgdx: The declared package does not match the expected package ""

但他们都处理Eclipse(或Eclipse + Maven),我只使用VS Code而没有IDE或包管理器的所有功能。

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

我为每个尝试使用语法提供包的文件收到此消息:

package myPackageName;

即使有问题的文件是在右侧文件夹中。此问题仅作为视觉问题发生,即所有内容都使用javac进行编译。自从我开始在我的Java项目中使用VS Code以来,我一直在处理它。

如果感觉到包装错误,如何让红色波浪形和文件浏览标签中的红色字体消失?它让我疯狂,我无法快速找到实际上我的项目中有错误的文件,因为除了Driver之外,所有内容都标记为红色。

这是一张图片:picture

[编辑]摆脱不相关的编译时错误所以你可以看到它编译。<​​/ p>

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

您的父文件夹为proto9,因此在所有子文件夹中,即controllermodelview。您应该编写package proto9.controllerpackage proto9.model等。您可以在正确的目录中很好地编译.java文件,但不能100%确定为什么在文件目录中不能运行它处于时,尝试返回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

希望这也对您有用!