Вам необходимо установить CLASSPATH и убедиться, что вы находитесь в правильном каталоге.
Предполагая, что test.App.Appl
пытается сослаться на test.App.License
, структура каталогов должна быть:
/somedir/test
/somedir/test/App
/somedir/test/App/Appl.java
/somedir/test/App/License.java
Вам следует установить $CLASSPATH
на "/somedir"
, затем изменить текущий каталог на /somedir
и запустить компилятор как javac test/App/*.java
; например,
$ export CLASSPATH="/somedir"
$ cd /somedir
$ javac test/App/*.java
Вы также можете использовать параметр командной строки -cp
с командой javac
(и позже java
), и вы запускаете компилятор javac
из другого каталога, используя параметр -sourcepath
.
Другая возможность состоит в том, что пакет для License
не test.App
. Если это так, вам нужно настроить структуру каталогов так, чтобы она соответствовала именам пакетов, и добавить оператор import
в класс Appl
.
EDIT: если вы заметили build.xml
или pom.xml
(или, возможно, даже Makefile
) в дереве исходных текстов, вам, вероятно, не следует использовать javac
напрямую. build.xml
предназначен для сборки с использованием Ant
, a 'pom.xml is for Maven (or Ivy) and a
Makefile or
makefile is for
make`.