каждого пакет Java соответствует папке в файловой системе Таким образом, объявление пакета, такие как com.stackoverflow
будет означать, что классы источника должны быть. папка ./com/stackoverflow
. Как правило, весь проект будет иметь parate src
папка, содержащая com/stackoverflow
.
При компиляции классов Java, что вам не нужно поместить исходные файлы в том же каталоге, javac.exe
, однако Вы должны убедиться, что javac.exe
в ваших операционных систем PATH
переменных. Это говорит операционной системе, где она должна искать исполняемые файлы при запуске команды, на машине * nix это обычно будет /usr/bin
или просто /bin
, но на машине Windows исполняемые файлы обычно живут в собственных каталогах приложений, то есть C:\Program Files\something
. Предполагая, что вы правильно установили JDK, javac.exe
уже должен быть в PATH
, вы можете проверить это, открыв командную строку и просто запустив javac
(точно так же). Если вы получаете некоторый результат, тогда все хорошо, система знает, где найти javac.exe
.
Далее вам нужно будет перейти в папку проекта и ввести javac -d . src/com/stackoverflow/MainSO.java
уведомление, которое запускается из папки проекта. Это создаст папку с именем com
в корне вашего проекта и поместим скомпилированные классы в com/stackoverflow
. Флаг -d
сообщает javac
, где положить скомпилированные классы, если вы оставите это, скомпилированные классы будут там, где находятся источники.
Затем, если вы хотите запустить классы, которые вы вводите java com.stackoverflow.MainSO
(нет .класс).Крайне важно, чтобы эта команда выполнялась в каталоге, который содержит корень иерархии классов (то есть папка com
, содержащая скомпилированные классы). Вы можете указать другие места для java
, чтобы искать классы, указав путь класса к команде java
с флагом -cp
. По умолчанию путь к классу будет содержать каталог, в котором была запущена команда java
. Если у вашего проекта есть зависимости внешних файлов .jar, например, вам нужно будет предоставить каждый из них (с полным пути к файлу) в пути к классам (это относится к компилятор). IDE делают это автоматически для вас.
Надеюсь, что это поможет.