簡體   English   中英

Java類位於同一包(不同的目錄)中,但它們不能彼此訪問

[英]Java classes are in the same package (different directories) but they can't access each other

我有兩個文件:

MyProject / src / main / java / foo_package / bar_package / MainClass.java MyProject / src / gen / java / foo_package / bar_package / OtherClass.java

在這兩個類中,第一行是:

package foo_package.bar_package;

如果我打電話給:

OtherClass foo = new OtherClass();

它無法解析符號OtherClass。 這是為什么?

我嘗試過的

  • 重建項目
  • 使緩存無效/重啟
  • 重新導入項目
  • 刪除.iml文件和.idea文件夾,然后再次導入所有內容

上一堂課的路徑似乎有問題:

MyProject / src / main /java/foo_package/bar_package/MainClass.java MyProject / src / gen /java/foo_package/bar_package/OtherClass.java

如果您的類具有相同的程序包(程序包在../java/之后../java/ ),但它們不是Java構建路徑的一部分,則IDE不會將其識別為有效。

試試你的移動OtherClass.java到的包MainClass.java是。 這樣做最終應該可以解決您的問題。

PS:請注意項目的源文件夾(大多數情況下,默認情況下, main是源文件夾,足夠了,但是可能還有其他源文件夾,通常是手動添加的)。

確保您的IDEA源文件夾是java ,而不是src (對於/gen/內部和/main內部的兩個java文件夾)。 在“項目”窗口( Alt + 1 )中,源根目錄被標記為藍色目錄。

暫無
暫無

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

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