Extracting .jar file with command line

JavaWindows

Java Problem Overview


I am trying to extract the files from a .jar file. How do I do that using command line?

I am running Windows 7

Java Solutions


Solution 1 - Java

From the docs:

> To extract the files from a jar file, use x, as in: > > C:\Java> jar xf myFile.jar > > To extract only certain files from a jar file, supply their filenames: > > C:\Java> jar xf myFile.jar foo bar

The folder where jar is probably isn't C:\Java for you, on my Windows partition it's:

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

Unless the location of jar is in your path environment variable, you'll have to specify the full path/run the program from inside the folder.

EDIT: Here's another article, specifically focussed on extracting JARs: http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html

Solution 2 - Java

Note that a jar file is a Zip file, and any Zip tool (such as 7-Zip) can look inside the jar.

Solution 3 - Java

In Ubuntu:

unzip file.jar -d dir_name_where_extracting

Solution 4 - Java

You can use the following command: jar xf rt.jar

Where X stands for extraction and the f would be any options that indicate that the JAR file from which files are to be extracted is specified on the command line, rather than through stdin.

Solution 5 - Java

Java has a class specifically for zip files and one even more specifically for Jar Files.

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

using those you could, on a command from the console, using a scanner set to system.in

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

then get all the components and write them as a file.

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

You can also use java.util.zip.ZipInputStream instead, as seeing a JAR file is in the same format as a ZIP file, ZipInputStream will be able to handle the Jar file, in fact JarInputStream actually extends ZipInputStream.

an alternative is also instead of getNextJarEntry, to use getNextEntry

Solution 6 - Java

jar xf myFile.jar
change myFile to name of your file
this will save the contents in the current folder of .jar file
that should do :)

Solution 7 - Java

Given a file named Me.Jar:

  1. Go to cmd

  2. Hit Enter

  3. Use the Java jar command -- I am using jdk1.8.0_31 so I would type

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

That should extract the file to the folder bin. Look for the file .class in my case my Me.jar contains a Valentine.class

Type java Valentine and press Enter and your message file will be opened.

Solution 8 - Java

To extract the jar into specified folder use this command via command prompt

C:\Java> jar xf myFile.jar -C "C:\tempfolder"

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBobby CView Question on Stackoverflow
Solution 1 - JavaAusCBlokeView Answer on Stackoverflow
Solution 2 - JavaHot LicksView Answer on Stackoverflow
Solution 3 - JavaburtsevygView Answer on Stackoverflow
Solution 4 - JavaNikhil AroraView Answer on Stackoverflow
Solution 5 - JavaD3_JMultiplyView Answer on Stackoverflow
Solution 6 - Javaabe312View Answer on Stackoverflow
Solution 7 - Javauser4566153View Answer on Stackoverflow
Solution 8 - JavaVijayaKumar ThangavelView Answer on Stackoverflow