Ответ 1
Вам нужен Java Development Kit (JDK). Сюда входит компилятор Java (обычно называемый javac
) и архиватор.
Предполагая, что у вас есть 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.)