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