如何从.jar文件中提取类?

时间:2012-02-01 03:13:29

标签: java jar

我有.jar文件。我试过运行命令 jar xf my.jar 它什么也没给。我尝试使用JD GUI,但它给了我这样的信息:输入文件无效' /home/hey/Desktop/my.jar'。

这是否意味着我无法从此.jar文件中提取类?

5 个答案:

答案 0 :(得分:13)

如果要从Jar文件中提取文件,请使用以下命令:

<强> jar xf jar-filename archived-files

x 选项表示我们希望提取文件, f 选项表示来自jar文件的 jar-filename 是要从中提取的jar文件的文件名, archived-files 是要提取的文件。

我们也可以通过简单地指定要提取的文件来提取所有文件:

<强> jar xf project.jar

注意:如果它不可访问就像@Legend告诉,打开 WinRaR 检查天气是否正确 .jar .zip 文件。如果没有使用winrar打开,则 .jar/.zip 可能会出现问题。

答案 1 :(得分:9)

您可以使用winrar打开jar文件,这将显示其中的所有类文件,您可以将它们全部拖放到JD-GUI中并将它们全部反编译。

答案 2 :(得分:5)

for linux users

unzip your.jar

答案 3 :(得分:5)

您是如何创建.jar文件的?

我刚才在MAC OSX上使用过Dex2Jar -

sudo sh ~/Downloads/dex2jar-2.0/d2j-dex2jar.sh ~/mobile/pjr.mob.android/obj/Debug/android/bin/classes.dex --force

并且生成的文件存在权限问题,因此当我使用JD GUI打开它时,它给出了上面提到的&#34; Invalid input fileloader:&#34; 错误。< / p>

如果你这样做 -

sudo chmod + xr~ / Downloads / dex2jar-2.0 / classes-dex2jar.jar

然后,您就可以在JD GUI中打开它。

答案 4 :(得分:1)

WickedW的回答是正确的!

sudo chmod +xr *.jar

然后你可以用jd-gui打开罐子