javac -classpath没有做到这一点

时间:2012-03-26 17:37:51

标签: java classpath

我有一个源文件SerialTalk.java,在目录C:\ javasrc \ BattProj

此文件从RXTXcomm.jar导入类,例如

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

RXTXcomm.jar与SerialTalk.java位于同一目录中。我编译指定一个指向当前目录的类路径:

javac -verbose -classpath。 SerialTalk.java

总是,我收到以下错误。 (实际上,此错误的许多实例和变体):

SerialTalk.java:3:错误:包gnu.io不存在 import gnu.io.CommPortIdentifier;

当我打开RXTXcomm.jar(例如7-Zip)时,我可以看到gnu.io结构,以及我试图导入的特定.class文件。

那么我做错了什么?已编译相同的.java(源)文件并在Netbeans IDE中的另一个工作站上运行。这里的区别是我正在尝试使用命令行中的javac编译它。 (环境是Win7,32位,jdk1.7.0_03)

1 个答案:

答案 0 :(得分:9)

  

那么我做错了什么?

您没有将jar文件放在类路径上。将目录放在类路径上并不行。这只告诉javac在目录结构中找到.class文件的位置,而不是包含类文件的jar文件。你想要:

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