Ваш первоначальный вопрос не был полностью ясен (так как он не содержал полного сообщения об ошибке).
Из вашего комментария:
$ javac Example1.java
javac: file not found: Example1.java
Usage: javac <options> <source files> use -help for a list of possible options
Итак, javac не нашел ваш файл, пример java.
Обычно вам не нужно устанавливать CLASSPATH (используйте export CLASSPATH=
в bash), и javac будет искать источник в текущем каталоге. Ваш Example1.java
находится в текущем каталоге? (Введите ls
и посмотрите на вывод.)
Если нет, вы должны указать путь к этому файлу для javac в качестве параметра ... но на самом деле лучше, просто перейдите в нужный каталог с помощью cd
.
Если вы используете пакеты, поместите вашу оболочку в каталог в верхней части иерархии каталогов пакетов и оттуда вызовите компилятор с относительным именем файла.
Правка, так как я вижу следующие вопросы:
- Компилятор поместит полученные файлы классов в дерево выходных каталогов, заданное параметром
-d
(или текущим каталогом, если не указан), в соответствии со структурой их пакетов, поэтому убедитесь, что вы ищете их там позже (при вызове программа).
Если компилятору нужны другие классы для компиляции файлов, указанных в командной строке, он ищет файлы классов в classpath (заданном параметром -classpath
или -cp
или переменной среды CLASSPATH
или текущий каталог) и исходные файлы в sourcepath (задается параметром -sourcepath
или classpath, если не указан sourcepath). Если для необходимого существует и исходный файл более новый, он также перекомпилируется. (Их также ищут в соответствии со структурой пакета.)
Так что в этом случае вы должны обязательно указать параметр -sourcepath
, чтобы компилятор мог найти другие ваши исходные файлы.