我想从一个.jar文件中提取文件。我如何使用命令行操作来执行此操作?
我的操作系统是Windows 7。
来自 文档:
要从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。
在Ubuntu中:
unzip file.jar -d 目标文件夹路径
jar
命令的系统!在CentOS 5.7上无任何问题。 - djthomsjar xf rt.jar
其中,X
代表提取(extraction),而f
则是任何选项,指示JAR文件从哪里提取文件指定在命令行中,而不是通过stdin。jar xf myFile.jar
将myFile更改为您的文件名
这将在.jar文件所在的当前文件夹中保存内容
就这样 :)
Java有一个专门用于压缩文件的类,还有一个更专门用于Jar文件的类。
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
}
我遇到了同样的问题,但是使用jar命令没有起作用。我复制了这个jar文件并将扩展名改为.zip。然后右键点击.zip文件并选择“全部解压缩”。这样就可以将所有文件解压缩出来了。
给定一个名为Me.Jar的文件:
使用Java jar
命令--我正在使用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键,您的消息文件将被打开。
要将jar文件提取到指定文件夹中,请通过命令提示符使用以下命令
C:\Java> jar xf myFile.jar -C "C:\tempfolder"
-C
只能在创建 jar 文件时使用。 - unwichtichunzip file.jar -d dir_name_where_extracting
命令来解压缩文件。而在Windows系统中,您需要将JAR文件复制/移动到目标文件夹,然后在那里进行解压缩。 - unwichtich
jar.exe
的完整路径或者在文件夹内运行它。 - AusCBloke