簡體   English   中英

聲明的 package "a" 與預期的 package "" 不匹配

[英]The declared package "a" does not match the expected package ""

具有此文件架構:

folder "a"
        |
        |_____ MyClass.java

我的“.java”文件中有這段代碼:

package a;

public class MyClass {
    public static void main(String[] args) {
        System.out.println("Hello world");

    }
}

我想知道我收到此錯誤的原因(我使用的是 visual studio,我說它以防它與我的錯誤有關):

The declared package "a" does not match the expected package "".

我注意到,有時當我重新打開我的文件夾時,它會突然起作用,但有時卻不起作用。

我不知道為什么會發生這種情況,我相信它與 visual studio 相關的原因,但它更進一步,因為當我嘗試編譯它時,如前所述,有時它有效,而其他人則沒有。

告訴我這個錯誤:

Error: Could not find or load main class MyClass
Caused by: java.lang.NoClassDefFoundError: a/MyClass (wrong name: MyClass)
package a;

public class MyClass {
    public static void main(String[] args) {
        System.out.println("Hello world");

    }
}

這取決於您引用 class 的位置。如果a是一個子文件夾,並且您試圖從a中編譯MyClass.java它將不起作用(除非您指定正確的文件夾,如./..或類似的文件夾。包是相對的到某個根文件夾或其他 package。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM