javac -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 (исходный) был скомпилирован и запущен на другой рабочей станции в среде IDE Netbeans. Разница здесь в том, что я пытаюсь скомпилировать его, используя javac из командной строки. (Среда Win7, 32-битная, jdk1.7.0_03)

1 ответ

Так что я делаю не так?

Вы не помещаете файл jar в путь к классу. Помещение каталога в путь к классу не делает этого. Это только говорит Javac, где найти .class файлы в структуре каталогов, а не файлы JAR, содержащие файлы классов. Ты хочешь:

javac -verbose -classpath .;RXTXcomm.jar SerialTalk.java
Другие вопросы по тегам