Бывают и такие ситуации, когда требуется скомпилить небольшое количество файлов в jar, например после небольшой правки кода, в консоли, и без IDE.
Всё довольно просто, достаточно разбить по шагам.
- Скормить javac все исходники, прямо одной командой кучу файлов
- Необходимо создать текстовый файл manifest в корне проекта(на уровне с src), в котором указать класс, который будет загружен(такого вида строчка Main-Class: practice.Main). Если не указать этот класс, то появится ошибка, навроде Failed to load Main-Class manifest attribute from
- Запаковать все с помощью jar
- По необходимости запустить командой java -jar file.jar
Хочу пример?
$ javac -encoding utf8 src/pack/Main.java src/pack/Processor.java \
src/pack/beans/Person.java src/pack/utils/ListAF.java
$ cat manifest
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
Main-Class: practice.Main
$ jar cvfm pack-dist.jar manifest -C src/ .
$ java -jar pack-dist.jar
Я уверен, что мне эта заметка ещё ни раз пригодится