Изменение файла JAR - PullRequest
       12

Изменение файла JAR

8 голосов
/ 02 февраля 2010

У меня есть jar-файл, который используется в html-файле в качестве апплета. Я хочу изменить содержимое файла jar и перестроить файл jar так, чтобы html хорошо работал с новым файлом jar. Как я могу это сделать ??

Я уже пробовал разархивировать, используя 7zip, изменил источник и создал новый jar. Но когда я использую его в html, он показывает некоторую ошибку java.lang.Classnotfound

Ответы [ 5 ]

15 голосов
/ 02 февраля 2010

Вы можете разархивировать или заново создать классы и исходные файлы, как пожелаете.

unjar

jar -xvf abc.jar 

баночка

jar cf abc.jar input-files

http://docs.oracle.com/javase/tutorial/deployment/jar/build.html

2 голосов
/ 02 февраля 2010

Внесите изменения в код (файлы .java), перекомпилируйте для получения файлов .class. Затем просто замените старые файлы .class в банке новыми. Я обычно использую WinZip, но вы можете использовать любое приложение, которое может обрабатывать файлы .Zip. Это должно просто работать.

Я сталкивался со случаями, когда программа запуска приложения использует своего рода проверку и проверку на изменения такого рода. Мне пришлось использовать новый скрипт запуска. Это не похоже на ваш случай, хотя.

1 голос
/ 18 августа 2013

Это, безусловно, возможно из командной строки. Используйте параметр u для jar

Из учебников по Java:

jar uf jar-file input-file(s)

«Любые файлы, уже находящиеся в архиве и имеющие тот же путь, что и добавляемый файл, будут перезаписаны.»

См. Обновление файла JAR

Краткий тест показывает, что это быстро обновляет изменения, за исключением попыток удалить файл.

Я не видел этот ответ в других темах об изменении файлов jar, и многие, помеченные как дубликаты, предполагают, что нет другой альтернативы, кроме как полностью переделать jar. Пожалуйста, исправьте, если ошиблись.

1 голос
/ 02 февраля 2010

Отказ от ответственности: При обратном проектировании любого кода убедитесь, что вы находитесь в рамках закона и придерживаетесь лицензии этого кода.

Следуйте инструкциям выше, чтобы распаковать JAR.

Найдите исходный источник JAR (возможно, на SourceForge) и загрузите исходный код, измените исходный код и пересоберите свой собственный JAR.

Вы также можете декомпилировать файлы классов в JAR.Это довольно продвинутый процесс, и в нем много «ошибок».

0 голосов
/ 02 февраля 2010

JAR-файлы - это просто ZIP-файлы, используйте любую утилиту и редактируйте ее!

...