Добрый день!
Продолжаю цикл вопросов о компиляции файла через командную строку. Предыдущий вопрос с полученным ответом здесь.
(Думаю, что в будущем даже напишу отдельную статью о том, как нужно компилировать :)
Я думаю, что реализацию интерфейса и класса демонстрировать было бы не обязательно, но, на всякий случай, я ее привел. Сам вопрос - ниже.
Значит, имеется один интерфейс и один класс, реализации ниже:
Интерфейс:
package classloader;
public interface Module {
int EXIT_SUCCESS = 0;
int EXIT_FAILURE = 1;
void load();
int run();
void unload();
}
Класс:
package modulesforclassloader;
import classloader.Module;
public class ModulePrinter implements Module {
@Override
public void load() {
System.out.println("Module " + this.getClass() + " loading ...");
}
@Override
public int run() {
System.out.println("Module " + this.getClass() + " running ...");
return Module.EXIT_SUCCESS;
}
@Override
public void unload() {
System.out.println("Module " + this.getClass() + " inloading ...");
}
}
Интерфейс расположен по следующему пути: /Users/vladislavarsenev/IdeaProjects/Test/src/classloader/Module.java
Класс по следующему: /Users/vladislavarsenev/IdeaProjects/Test/src/modulesforclassloader/ModulePrinter.java
Собственно, вопрос.
Как скомпилировать класс ModulePrinter? Какую команду использовать? Подвох в том, что в классе используется другой класс (или интерфейс, не важно), да, к тому же, есть импорт этого класса. Если напрямую скомпилить javac /Users/vladislavarsenev/IdeaProjects/Test/src/modulesforclassloader/ModulePrinter.java
, то получу ошибку о том, что компилятор не понимает, что за импорт такой, не может его найти.
Читал статьи в интернете о компиляции, и начинаются эти статьи за здравие, а заканчиваются за упокой. Например, имеется одна статья на хабре, там сказано о том, как разделять папки со скомпилированными файлами и с исходным кодом, но о том, как компилировать с импортами, толком не рассказано. Размещение по разным папкам мне пока не нужно. Подскажите, пожалуйста, как просто скомпилировать файл с импортами.