it-swarm.com.ru

Обновление .class файла в jar

Я хочу обновить .class файл в jar новым. Какой самый простой способ сделать это, особенно в Eclipse IDE?

43
penguru

Этот учебник подробно, как обновить файл JAR

jar uf jar-file input-file(s)

где «у» означает обновление.

61
Brian Agnew

Вы хотите сделать это автоматически или вручную? Если вручную, JAR-файл - это на самом деле просто Zip-файл, так что вы можете открыть его с помощью любого Zip-ридера. (Может потребоваться сначала изменить расширение.) Если вы хотите автоматически обновить файл JAR через Eclipse, вы можете обратиться к Ant support в Eclipse и посмотреть на задачу Zip .

11
JasCav

Просто перетащите новый файл класса в JAR, используя 7-Zip или Winzip. Вы даже можете изменить JAR-файл, включенный в WAR-файл, используя значок родительской папки, и нажать Ok, когда 7Zip обнаружит, что внутренний файл был изменен

10
Lastnico

Jar - это архив, вы можете заменить файл в нем самостоятельно в вашем любимом файловом менеджере (например, Total Commander).

6
silent
  1. Используйте jar -xvf для извлечения файлов в каталог.
  2. Внесите свои изменения и замените классы.
  3. Используйте jar -cvf для создания нового файла jar.
6
James Lim

Файл JAR - это просто скрытый ZIP-архив. Заархивированная папка содержит .class файлы.

Если вы на MacOS:

  1. Переименуйте файл, чтобы иметь расширение .Zip. например myJar.jar -> myJar.Zip.
  2. Распакуйте «.Zip» (дважды щелкните по нему). Появится новая папка с именем «myJar»
  3. Найдите и замените файл .class новым файлом .class.
  4. Выделите все содержимое папки «myJar» и выберите «Сжать x элементов». НЕ Застегните молнию ПАПКИ САМ, ТОЛЬКО ЕГО СОДЕРЖАНИЕ

Разное - Компиляция одного файла .class, со ссылкой на оригинальный jar, в macOS

  1. Сделайте файл myClass.Java, содержащий ваш код.
  2. Откройте терминал из Spotlight.
  3. javac -classpath originalJar.jar myClass.Java Это создаст ваш скомпилированный класс с именем myClass.class.

Отсюда следуйте инструкциям выше. Вы также можете использовать Eclipse для его компиляции, просто ссылаясь на исходный файл jar, щелкнув правой кнопкой мыши по проекту, «Build Path» -> «Add External Archives». Отсюда вы сможете скомпилировать его как банку и использовать вышеописанную технику Zip для извлечения класса из баночки.

2
Toby Mellor

Шаги высокого уровня:

Setup the environment
Use JD-GUI to peek into the JAR file
Unpack the JAR file
Modify the .class file with a Java Bytecode Editor
Update the modified classes into existing JAR file
Verify it with JD-GUI

Ссылка ниже для подробных шагов и методов, чтобы сделать это,

https://www.talksinfo.com/how-to-edit-class-file-from-a-jar/

0
user2266614

Вы можете найти исходный код любого файла .jar в Интернете, импортировать тот же проект в свой IDE с базовыми настройками. Внесите необходимые изменения в файл .Java и скомпилируйте его для файлов .class.

После завершения компиляции Вам нужно извлечь файл jar, замените старый файл .class новым.

И используйте команду ниже для реконструкции .jar файла

Jar cf test.jar *

Примечание: я столько раз делал эти изменения в нашем проекте, надеюсь, вы найдете его полезным.

0
hari

Редактирование файла свойств/my_app.properties внутри jar:

"Zip -u /var/opt/my-jar-with-dependencies.jar properties/my_app.properties". В основном "Zip -u <source> <dest>", где dest относится к папке jar extract.

0
Shashi Ranjan

1) вы можете извлечь файл в папку с именем 

jarname.jar

а затем замените файл в папке, это удобно, если вы много обновляете класс во время отладки

2) Вы можете извлечь банку, заменить файл, а затем снова открыть банку

3) Откройте банку с 7 Zip и перетащите ваш новый класс, чтобы скопировать старый

0
Craig Angus