我有一个源文件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)
答案 0 :(得分:9)
那么我做错了什么?
您没有将jar文件放在类路径上。将目录放在类路径上并不行。这只告诉javac在目录结构中找到.class
文件的位置,而不是包含类文件的jar文件。你想要:
javac -verbose -classpath .;RXTXcomm.jar SerialTalk.java