Я не могу заставить javac распознавать внешний файл .jar, классы которого я пытаюсь расширить. У меня есть два файла в одном каталоге: TestConsole.java и acm.jar. Я компилирую из того же каталога, используя следующую команду:
javac -classpath .:acm.jar TestConsole.java
Но похоже, что javac просто игнорирует acm.jar. Это дает мне ошибку:
TestConsole.java:1: package acm does not exist
import acm.program;
^
Конечно, acm.program - это пакет в acm.jar. Все классы в acm.jar уже скомпилированы; Я просто хочу использовать их в своих классах, а не компилировать.
Что я делаю не так?
Я запускаю это на Mac, и структура каталогов acm.jar представляется действительной: она содержит каталог acm/program
, в котором есть ConsoleProgram.class
, единственный класс, который расширяется TestConsole
.
javac -classpath ".:acm.jar" TestConsole.java
тоже не работает.