Команда javac не может найти файл .class в текущем каталоге, необходимый для компиляции исходного файла. - PullRequest
4 голосов
/ 25 декабря 2010

Файлы A.java и B.class (версия B.java с байт-кодом) находятся в текущем каталоге.

A.java использует B.java следующим образом:

class A {
 B b;
}

Из того, что я прочитал, инструменты JDK сначала заглянут в каталоги, в которых установлены стандартные библиотеки Java.Если класс не найден в стандартных библиотеках, инструмент выполняет поиск по пути к классам.Если путь к классу не определен, предполагается, что значением пути к классу по умолчанию является текущий каталог.Тогда почему не работает следующая команда:

C:\current> javac A.java

Ответы [ 2 ]

3 голосов
/ 25 декабря 2010

Структура пакета должна соответствовать структуре каталогов, иначе javac завершится ошибкой.

http://kevinboone.net/classpath.html

2 голосов
/ 25 декабря 2010

Прокомментируйте или избавьтесь от package утверждений в начале ваших занятий.Поскольку вы храните оба java-класса в каталоге, где вы компилируете, компилятор должен без проблем найти B.class.

...