Как перекомпилировать файл JAR?
Я взял старый файл jar и отредактировал его. Теперь у меня есть папка со всеми файлами, и я хочу перекомпилировать их обратно в файл JAR. Как мне это сделать?
4 ответа
Файлы Jar не "компилируются" в обычном смысле этого слова. Но вы просто создаете один с jar
команда:
jar cvf myfile.jar file1 file2 etc
Вы можете использовать globbing как обычно:
jar cvf ../myfile.jar *
Бежать jar -?
или прочитайте документы для получения дополнительной информации.
Обратите внимание, что для исполняемого файла JAR вам также необходимо указать файл манифеста.
Как вы это редактировали?
Тем не мение, jar
файлы имеют тот же формат, что и обычный zip
файлы. Если вы хотите обновить содержимое фляги (возможно, с новым файлом), вы можете сделать:
jar -uf yourJar.jar path/to/updated/Class.class
Это обновит вашу банку с файлом path/to/updated/Class.class
Если в этом пути уже есть класс с таким именем, он будет заменен. Если нет, то это будет создано.
После этого ваша банка обновляется.
Файл jar - это просто zip-файл с несколькими дополнительными файлами. Вы можете использовать любую zip-утилиту для повторного создания файла jar.
Файлы Jar обычно содержат скомпилированные файлы Java (файлы классов) и ресурсы. Если вам разрешено вносить изменения в этот jar-файл, вы можете разобрать файлы классов с помощью JAD и после перекомпиляции собрать их снова с помощью команды jar
Как вы редактировали jar-файл, hex-редактор?