JAR - 提取特定文件

时间:2014-09-22 11:22:55

标签: java jar extract archive

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

jar xf jar-file.jar *.java

3 个答案:

答案 0 :(得分:28)

您可以使用unzip命令在其参数中接受通配符(这不是jar命令的情况)。这样的事情应该成功(免责声明:未经测试)

unzip youFile.jar "*.java"

答案 1 :(得分:26)

来自source:

  

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

     

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

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

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

jar xf my.jar @myfiles.lst

其中myfiles.lst将是:

com/my/MyClass.java
com/my/MySecondClass.java

使用jar tvfawk和您想要的提取模式,可以轻松自动创建此文件。我将此作为练习和/或其他SO问题: - )

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

干杯,

答案 2 :(得分:-2)

不应该是jar中的任何* .java文件,只能是类文件。您可以先运行以下方法检查jar的内容:

jar tvf jar-file.jar