#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:
Процедура примерно такая:
- Создайте временный каталог и
cd
перейдите в него. - Используйте
jar xf file.jar
для извлечения JAR-файла. - Добавление, редактирование, удаление файлов
- Используйте
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:
Я думаю, Стивен Си дал решение. На самом деле вы должны
- Разархивируйте ваш jar-файл с помощью утилиты Jar, предоставляемой в JDK, а затем
- Обновите свой config.properties, затем
- Заархивируйте весь проект с помощью утилиты Jar и все