Извлечение файла .jar с помощью командной строки - PullRequest
92 голосов
/ 10 декабря 2011

Я пытаюсь извлечь файлы из файла .jar. Как мне это сделать с помощью командной строки?

Я использую Windows 7

Ответы [ 8 ]

121 голосов
/ 10 декабря 2011

С документы :

Чтобы извлечь файлы из файла JAR, используйте x, например:

C:\Java> jar xf myFile.jar

Чтобы извлечь только некоторые файлы из файла JAR, укажите их имена:

C:\Java> jar xf myFile.jar foo bar

Папка, где jar, вероятно, не для вас C:\Java, в моем разделе Windows это:

C:\Program Files (x86)\Java\jdk[some_version_here]\bin

Если местоположение jar не указано в переменной среды пути, вам придется указать полный путь / запустить программу из папки.

РЕДАКТИРОВАТЬ: Вот еще одна статья, специально посвященная извлечению JAR: http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html

27 голосов
/ 10 декабря 2011

Обратите внимание, что файл jar является файлом Zip, и любой инструмент Zip (например, 7-Zip) может заглянуть внутрь банки.

21 голосов
/ 27 мая 2014

В Ubuntu:

unzip file.jar -d dir_name_where_extracting

8 голосов
/ 14 октября 2013

Вы можете использовать следующую команду: jar xf rt.jar

Где X обозначает извлечение, а f - любые параметры, которые указывают, что файл JAR, из которого должны быть извлечены файлы, указан в командной строке, а не через stdin.

2 голосов
/ 21 марта 2015

jar xf myFile.jar
измените myFile на имя вашего файла
это сохранит содержимое в текущей папке файла .jar
что должно сделать :) 1002 *

2 голосов
/ 10 декабря 2011

В Java есть класс специально для zip-файлов, а еще один - для Jar Files.

java.util.jar.JarOutputStream
java.util.jar.JarInputStream

используя те, которые вы могли, по команде с консоли, используя сканер, настроенный на system.in

Scanner console = new Scanner(System.in);
String input = console.nextLine();

затем получите все компоненты и запишите их в файл.

JarEntry JE = null;
while((JE = getNextJarEntry()) != null)
{
    //do stuff with JE
}

Вместо этого вы также можете использовать java.util.zip.ZipInputStream, поскольку, увидев, что файл JAR находится в том же формате, что и ZIP-файл, ZipInputStream сможет обрабатывать файл Jar, фактически JarInputStream фактически расширяет ZipInputStream.

альтернатива также вместо getNextJarEntry, чтобы использовать getNextEntry

0 голосов
/ 14 февраля 2015

Имеется файл с именем Me.Jar:

  1. Перейти к cmd
  2. Нажмите Enter
  3. Используйте команду Java jar - IЯ использую jdk1.8.0_31, поэтому я набрал бы

    C: \ Program Files (x86) \ Java \ jdk1.8.0_31 \ bin \ jar xf me.jar

Это должно извлечь файл в папку bin.Ищите файл .class в моем случае, мой Me.jar содержит Valentine.class

Введите java Valentine и нажмите Enter, и ваш файл сообщения будет открыт.

0 голосов
/ 18 августа 2014

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

C:\Java> jar xf myFile.jar -C "C:\tempfolder"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...