2012-03-26 37 views
1

我有一個源文件SerialTalk.java,在目錄C:\ javasrc \ BattProj的javac -classpath不這樣做的伎倆

此文件導入類從RXTXcomm.jar,例如。

import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; ...

RXTXcomm.jar與SerialTalk.java位於同一目錄中。我編譯指定一個指向當前目錄的類路徑:

javac -verbose -classpath。 SerialTalk.java

總是出現以下錯誤。 (實際上,很多情況下,這種錯誤的&變種):

SerialTalk.java:3:錯誤:包gnu.io不存在 進口gnu.io.CommPortIdentifier;

當我打開RXTXcomm.jar(例如使用7-Zip)時,我可以看到gnu.io結構以及我試圖導入的具體.class文件。

那麼我做錯了什麼?相同的.java(源)文件已經編譯並在Netbeans IDE中的另一個工作站上運行。這裏的區別是我試圖從命令行使用javac進行編譯。 (環境是Win7的,32位,jdk1.7.0_03)

回答

8

So what am I doing wrong?

你不把JAR文件的類路徑上。在類路徑上放置目錄不會。這隻告訴javac在哪裏可以找到目錄結構中的.class文件,而不是包含類文件的jar文件。你想:

javac -verbose -classpath .;RXTXcomm.jar SerialTalk.java 
+0

優秀。這沒關係,謝謝。我不能說我理解它,但它有效。 – user1293588 2012-03-26 19:29:41

相關問題