Самораспаковывающийся Jar в указанный каталог


Я хотел извлечь одну из моих банок в указанный каталог с помощью jar утилиты командной строки.

если я правильно понимаю -C вариант должен к трюку, но когда я пытаюсь

jar xvf myJar.jar -C ./directoryToExtractTo

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

это то, что я хочу достичь с jar или мне нужно вручную переместить мою банку и там вызвать

jar xvf myJar.jar
6 56

6 ответов:

лучше это сделать.

перейдите к требуемой структуре папок

используйте команду

jar -xvf  'Path_to_ur_Jar_file'

банки используют сжатие zip, поэтому вы можете использовать любую утилиту распаковки.

пример:

$ unzip myJar.jar -d ./directoryToExtractTo

в самой команде jar такой опции нет. Посмотрите в документация:

-C dir временно изменяет каталоги (cd dir) во время выполнения команды jar при обработке следующего аргумента inputfiles. Его работа должна быть аналогична опции-C UNIX утилиты tar. Например: jar uf foo.банку -с БАР-классов.изменения класса в каталог классов и добавьте панель.класс из этого каталога foo.сосуд. Следующая команда, jar uf foo.jar-C классы . -С ОГРН xyz.класс изменяется в каталог classes и добавляется в foo.банку все файлы в каталоге классов (без создания классов каталог в файл jar), а затем возвращается к исходному каталог перед изменением в каталог bin для добавления xyz.класс foo.сосуд. Если классы содержат файлы bar1 и bar2, то вот что файл jar содержит использование jar tf foo.jar: META-INF/

META-INF / MANIFEST.МФ

bar1

bar2

xyz.класс

это сработало для меня.

Я создал папку, а затем изменил ее в папку с помощью опции CD из командной строки.

затем выполнил банку оттуда.

d:\LS\afterchange>jar xvf ..\mywar.war

в случае, если вы не хотите изменять свой текущий рабочий каталог, может быть проще запустить команду extract в подобласти.

mkdir -p "/path/to/target-dir"
(cd "/path/to/target-dir" && exec jar -xf "/path/to/your/war-file.war")

затем вы можете выполнить этот скрипт из любого рабочего каталога.

[ спасибо Дэвид Шмитт для трюка с подложкой ]

Это то, что я использовал в моем .Bat-файл. Только окна, конечно.

set CURRENT_DIR=%cd% mkdir ./directoryToExtractTo cd ./directoryToExtractTo jar xvf %CURRENT_DIR%\myJar.jar cd %CURRENT_DIR%