2010-12-05 95 views
2

我有兩個java文件。它們在NetBeans中運行良好,但我必須在javac中編譯它們,並在unix機器上運行它們,因爲我正在連接到學校服務器上的數據庫。如何讓用NetBeans編寫的java程序用javac編譯?

我一直在線上搜索,但一切都太具體,我對NetBeans不太熟悉。

我在做的是將這兩個java文件和.form文件複製到我學校服務器上的一個目錄,然後嘗試使用javac編譯這兩個java文件。但是,我假設它不會編譯,因爲它缺少.form文件中的所有信息?

我得到編譯Java文件之一,當100個錯誤,他們是這個樣子:

CARTSJFrame.java:380:包org.jdesktop.layout不存在 。新增(jPanel9,org.jdesktop.layout.GroupLayout.PREFERRED_大小,org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,org.jdesktop.layout.GroupLay

我的猜測是,它有事情做與.FORM文件,我可以在NetBeans項目目錄中看到。

我已經看過以前的問題,但仍然無法弄清楚這一點。任何幫助表示讚賞。

回答

0

我認爲你的問題是,javac不知道在哪裏可以找到該庫。

一個典型的Java項目使用許多庫。 Netbeans使用文件夾「lib」來存儲這些庫以及一些配置文件來自動設置類路徑。類路徑是Javac用來「知道」庫在哪裏的環境變量。

當您使用javac編譯java文件時,您需要首先提供CLASSPATH變量。寫下你所有的依賴關係。

一個例子:

項目/ compile_all.sh

export CLASSPATH=$CLASSPATH:"lib/jopt-simple-3.2.jar":"lib/commons-io-2.0.jar" 

javac src/*.java 

現在你只需要運行

sh compile_all.sh 

並將其編譯所有你.java文件

2

你是由於NetBeans在項目的classpath au中包含一個jar,因此會遇到編譯錯誤當你編譯和運行這個項目的時候,你會覺得這很有意思

NetBeans使用點形式文件幫助它生成佈局代碼。它不在編譯時使用。

有跡象表明,你可以按照解決這個問題了幾個策略:

  1. 獲得具有類的jar ... http://www.findjar.com/jar/net.java.dev.swing-layout/jars/swing-layout-1.0.1.jar.html;jsessionid=252692AC0FBE9421C9436A748744ACED ...幷包括罐子在編譯你的類路徑 和運行時間。

  2. 使用javax.swing.GroupLayout將項目中的代碼轉換爲 。 這是爪哇SE 6.本SO answer covers how to convert between org.jdesktop.layout.GroupLayout and javax.swing.GroupLayout in NetBeans的「標準的一部分」。