我正试图从一个. jar 文件中提取文件。我如何使用命令行做到这一点?
我正在运行 Windows 7
来自 那些文件:
要从 jar 文件中提取文件,请使用 x,如下所示: C:\Java> jar xf myFile.jar 若要从 jar 文件中只提取某些文件,请提供它们的文件名: C:\Java> jar xf myFile.jar foo bar
要从 jar 文件中提取文件,请使用 x,如下所示:
x
C:\Java> jar xf myFile.jar
若要从 jar 文件中只提取某些文件,请提供它们的文件名:
C:\Java> jar xf myFile.jar foo bar
jar所在的文件夹对你来说可能不是 C:\Java,在我的 Windows 分区上它是:
jar
C:\Java
C:\Program Files (x86)\Java\jdk[some_version_here]\bin
除非 jar的位置在你的路径环境变量中,否则你必须在文件夹中指定完整的路径/运行程序。
编辑: 这里有另一篇文章,特别关注于提取 JAR: < a href = “ http://docs.oracle.com/javase/lessons/department/jar/unpack.html”rel = “ norefrer”> http://docs.oracle.com/javase/tutorial/deployment/jar/unpack.html
注意,jar 文件是一个 Zip 文件,任何 Zip 工具(比如7-Zip)都可以查看 jar 内部。
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。相反,由于看到 JAR 文件的格式与 ZIP 文件相同,ZipInputStream 将能够处理 JAR 文件,事实上 JarInputStream 实际上扩展了 ZipInputStream。
另一种方法是使用 getNextEntry 代替 getNextJarEntry
可以使用以下命令: jar xf rt.jar
jar xf rt.jar
其中,X代表提取,而 f是任何选项,指示从中提取文件的 JAR 文件是在命令行上指定的,而不是通过 stdin。
X
f
在 Ubuntu 中:
unzip file.jar -d dir_name_where_extracting
要将 jar 解压缩到指定的文件夹,请通过命令提示符使用此命令
C:\Java> jar xf myFile.jar -C "C:\tempfolder"
给出一个名为 Me. Jar 的文件:
使用 Javajar命令——我使用的是 jdk1.8.0 _ 31,因此我会输入
C: Program Files (x86) Java jdk1.8.0 _ 31 bin jar xf me.jar
它应该将文件解压缩到文件夹 bin 中。去找文件。在我的例子中,Me.jar 包含一个 Valentine.class
键入 java Valentine,然后按 Enter,您的邮件文件将被打开。
java Valentine
jar xf myFile.jar 将 myFile 更改为文件名 这将把内容保存在.jar 文件的当前文件夹中 这应该可以:)
jar xf myFile.jar
我有同样的问题和 jar 命令不工作。我复制了 jar 文件,并将扩展名更改为。什么都没有。然后右键单击。压缩压缩文件,并选择“提取所有”。这解压缩了所有的文件。