[英]Error package does not exist java
我正在嘗試導入我創建的包,我的文件結構如下:
javacode
mypackage的
在測試器中,我使用以下命令import mypackage.Cram;
軟件包: import mypackage.Cram;
但是當我嘗試編譯tester.java時,出現以下錯誤:包mypackage不存在。 任何幫助將非常感激。 這是錯誤; 算法是我的tester.java,而包是mypackage。
algo.java:6: error: package pack does not exist
import pack.Cram;
^
如果您要同時編譯所有文件,那么只要您正確定義了類並在package
關鍵字所指示的目錄結構中定義了類,就應該可以按原樣使用代碼。
假設您具有以下目錄樹(如您的原始帖子中所示):
javacode
Tester.java
mypackage
Cram.java
classes
<.class files will be placed here later>
並定義了以下類:
Tester.java:
import mypackage.Cram;
public class Tester {
public static void main(String[] args) {
Cram c = new Cram();
c.doSomething();
}
}
Cram.java:
package mypackage;
public class Cram {
public void doSomething() {
System.out.println("Hello from Cram!");
}
}
您可以使用以下命令將所有這些文件編譯到一個目錄中(通常,IDE將編譯為“ classes”或“ bin”目錄):
> javac -d classes Tester.java mypackage\Cram.java
這會將您所有的類文件放在目錄“ classes”中
classes
Tester.class
mypackage
Cram.class
然后,您可以使用以下命令運行:
> java -cp classes Tester
並產生輸出:
Hello from Cram!
如果要像庫那樣與Tester.java分開編譯程序包,則可以使用一些單獨的命令來執行相同的操作。
編譯mypackage.Cram
:
> javac -d classes mypackage/Cram.java
這會將.class文件放在相同的classes目錄中。 當您嘗試編譯Tester.java(使用mypackage.Cram
)時,只需告訴編譯器您的類在哪里:
> javac -d classes Tester.java
然后運行:
> java -cp classes Tester
產生相同的輸出。
我的猜測是,您的類和名稱都被弄亂了,Java希望它們遵循約定。
編譯時,它正在尋找.java文件。 將Cram.java文件放入其中,然后嘗試再次編譯。
在Algo.java中更改導入。 您正在尋找pack.Cram,並且您已經指出它是mypackage.Cram。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.