我在JAR存档中有.class和.java文件。有没有办法从中提取.java文件? 我已经尝试过这个命令,但它不起作用:
jar xf jar-file.jar *.java
答案 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 tvf
,awk
和您想要的提取模式,可以轻松自动创建此文件。我将此作为练习和/或其他SO问题: - )
或者您可以使用unzip
- JAR文件基本上是一个zip文件。
干杯,
答案 2 :(得分:-2)
不应该是jar中的任何* .java文件,只能是类文件。您可以先运行以下方法检查jar的内容:
jar tvf jar-file.jar