JAR - 提取特定文件

use*_*479 24 java jar extract archive

我在JAR存档中有.class和.java文件.有没有办法从中提取.java文件?我试过这个命令,但它不起作用:

jar xf jar-file.jar *.java
Run Code Online (Sandbox Code Playgroud)

And*_*rup 31

来源:

要仅从jar文件中提取某些文件,请提供其文件名:

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

使用通配符是一个shell的东西,你不应该期望它从JAR文件中提取时(正如你已经意识到的那样).

可以做的是,通过@修饰符提供要提取的文件列表:

jar xf my.jar @myfiles.lst
Run Code Online (Sandbox Code Playgroud)

在哪里myfiles.lst:

com/my/MyClass.java
com/my/MySecondClass.java
Run Code Online (Sandbox Code Playgroud)

通过创造性地使用和您想要的提取模式jar tvf,可以轻松地自动创建此文件awk.我将把它留作练习和/或另一个SO问题:-)

或者你可以使用unzip- 一个JAR文件基本上是一个zip文件.

干杯,


Pie*_*ust 30

您可以unzip在其参数中使用接受通配符的命令(这不是jar命令的情况).像这样的东西应该做的伎俩(免责声明:没有测试)

unzip youFile.jar "*.java"
Run Code Online (Sandbox Code Playgroud)