Как создать jar-файл из существующего jar-файла?

#java #jar

#java #jar

Вопрос:

Я до сих пор не работал на Java…. Но мне нужно включить файл jar в мой проект.

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

Он имеет структуру папок, подобную следующей

 1. folder which has .class file.
2. com folder
3. de folder
4. META-INF folder contains MANIFEST.INF file and Maven folder
5. org folder
6. config.properties
7. abc.builds.properties
  

Мне нужно обновить config.properties и создать новый jar-файл.

Кто-нибудь может мне помочь в этом?

Комментарии:

1. Используйте IDE, подобный Eclipse. В Eclipse вы можете щелкнуть правой кнопкой мыши на своем проекте и Add external libraries .

2. Jar-файл — это просто zip-файл. Вы можете использовать для этого инструменты zip / unzip. Если они не понимают jar-файлы, то временно переименуйте .jar в .zip, обработайте его и переименуйте обратно в .jar.

Ответ №1:

Процедура примерно такая:

  1. Создайте временный каталог и cd перейдите в него.
  2. Используйте jar xf file.jar для извлечения JAR-файла.
  3. Добавление, редактирование, удаление файлов
  4. Используйте jar cf new-file.jar .... для создания нового JAR-файла.

Также возможно обновить отдельные компоненты с jar uf file.jar ...

(Если исходный JAR-файл был подписан, вам нужно будет повторно подписать его… если вам нужен JAR с подписью.)

Ответ №2:

Лучший способ, чем интегрировать классы другого jar в свой jar, — это объявить в своем jar, что вы хотите использовать другой jar.

Процедура примерно такая:

  • Создайте файл с именем MANIFEST.MF в подпапке META-INF как дочерний элемент src/ .
  • добавьте строку
    Class-Path = theOther.jar
  • при создании jar убедитесь, что этот файл (и папка) включены.

дополнительную информацию смотрите здесь: http://docs.oracle.com/javase/tutorial/deployment/jar /

Ответ №3:

Я думаю, Стивен Си дал решение. На самом деле вы должны

  1. Разархивируйте ваш jar-файл с помощью утилиты Jar, предоставляемой в JDK, а затем
  2. Обновите свой config.properties, затем
  3. Заархивируйте весь проект с помощью утилиты Jar и все