簡體   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