Вам необходим Java Development Kit (JDK). Это включает компилятор Java (обычно называемый javac
) и архиватор jar.
Предполагая, что у вас есть java-файлы в каталоге с именами src
(тогда в соответствии с их структурой пакета), вы будете использовать
javac -d classdir -sourcepath src src/*.java src/*/*.java src/*/*/*.java ...
для компиляции всех файлов. (Настройте количество * на количество уровней каталогов. Если у вас есть только несколько папок с исходными файлами в них, вы также можете перечислить их по отдельности. Если некоторые классы зависят от других, вы можете пропустить другие, компилятор найдет и скомпилируйте их автоматически.)
Если программе нужны внешние библиотеки, предоставьте им аргумент -classpath
.
Теперь у нас есть все скомпилированные классы в каталоге classdir
. Посмотрите на исходный файл jar: все файлы, не относящиеся к классу, должны также быть скопированы в ваш classdir (в том же относительном каталоге, в котором они находились ранее). Это наиболее заметно включает в себя META-INF/MANIFEST.MF
.
Затем мы создаем новый файл JAR из них. Инструмент jar
включен в JDK.
jar cfm mypackage.jar classdir/META-INF/MANIFEST.MF -C classdir .
(Вы также можете просто использовать программу zip на ваше усмотрение и переименовать полученный zip-файл в .jar. Если ваши файлы имеют имена не ASCII, убедитесь, что для кодировки имени файла установлено значение UTF-8.)