2011-03-31 52 views
0

我使用NetBeans來編寫類,它們都包含在一個包中,但是當我嘗試在Linux中編譯應用程序類時,它會爲我正在使用的類的類定義吐出錯誤。指向對象的類名並說「找不到符號」,我需要幫助!在linux中編譯多個java類

+1

什麼是錯誤的目錄? – 2011-03-31 00:55:48

+0

編輯問題 – dawnoflife 2011-03-31 00:57:40

+0

你是在控制檯上用javac還是netbeans來編譯? – 2011-03-31 01:00:07

回答

1

使用javac -sourcepath <你的源代碼路徑>

最好檢查一下-help選項,因爲它主要是解決你的問題

+0

我做到了這一點,並把我所有的課程放在一個單獨的文件夾中,但它說沒有找到文件。 – dawnoflife 2011-03-31 01:28:03

+0

把錯誤你的得到更多的細節,可能會複製和粘貼錯誤。編譯時發現類未找到錯誤? – Senthil 2011-03-31 03:04:42

1

cd到包含軟件包的目錄,然後運行:

javac -classpath . your_package_name/* 
+0

我如何在linux中創建一個包?現在我有我的.java文件在一個文件夾中。而已。 – dawnoflife 2011-03-31 01:25:33

+0

您的文件夾是包。也就是說,如果你的java文件有:package myPackage;那麼它只需要在一個叫myPackage的摺疊中。如果你的java文件的包是:myPackage.subPackage.otherPackage,那麼它將在文件夾中:myPackage/subPackage/otherPackage – 2011-03-31 01:43:40

1

我不是Java專家,但是我有一個小型的Java項目,我多年前開發並最近在Linux上使用javac進行編譯。

我得到了這兩種不同的方式工作:

  1. 創建了持有的所有我的課
  2. 把我的每個班在一個單獨的文件,但都在同一個目錄中的一個Java源文件

在每種情況下,我可以編譯並使用以下運行:

javac *.java && java name_of_main_class 

請注意,我編譯時沒有指定「-classpath」選項。我猜這是有效的,因爲我沒有使用目錄子結構或創建一個包。如果你正在處理這些問題,出現此頁面有一些例子,可以幫助你:Help with packages in java - import does not work

一個關鍵的事情,瞭解有關Java packages它們對應所在班被定義(或JAR子目錄這些文件只是將這些子目錄捆綁並壓縮到一個文件中)。因此,無論何時在源中指定package關鍵字,都需要確保源文件(和類文件)相應地分發到子目錄。 javac-classpath選項可能會在子目錄結構與package關鍵字指定的內容不完全匹配時提供解決方法。

0

如果使用NetBeans構建項目,則可以使用Ant在命令行上構建項目。 NetBeans生成Ant構建腳本。

只是cd到項目所在位置,然後鍵入「蟻族」 應該建立項目爲你自動的