我很困惑。我下载了一个 *.jar 文件作为一个软件。所以,想把源码提取出来看看
我使用了命令 jar xf filename.jar
它返回了另外两个 *.jar
文件和一个 *.class
文件。我仍然无法使用标准文本编辑器在终端中打开它们。
也许这不是开源软件?有没有其他方法可以看到这里做了什么?
原文由 ShanZhengYang 发布,翻译遵循 CC BY-SA 4.0 许可协议
我很困惑。我下载了一个 *.jar 文件作为一个软件。所以,想把源码提取出来看看
我使用了命令 jar xf filename.jar
它返回了另外两个 *.jar
文件和一个 *.class
文件。我仍然无法使用标准文本编辑器在终端中打开它们。
也许这不是开源软件?有没有其他方法可以看到这里做了什么?
原文由 ShanZhengYang 发布,翻译遵循 CC BY-SA 4.0 许可协议
简单的解决方案:
如果你有 eclipse,只需将 jar 文件添加到当前项目的类路径中,你就可以看到 jar 中的所有包和源代码。您无需安装和使用这些命令。您将更好地查看所有文件
原文由 saravanan saminathan 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
运行“
java -jar fernflower.jar -dgs=true JarToDecompile.jar DecompiledJar
”这就是 Intelli-J 和 Android-Studio 反编译器所做的。
注意:Fernflower 将
.java
文件提取到.jar
文件。您可以将 jar 文件解压缩为常规 zip 文件(如果您的Archive Utility
在 OSX 上的版本允许它 - 它在 OSX Sierra 上不为我做,但在 El Capitan 上工作)或者你可以做jar xf DecompiledJar
它会提取它。示例(全部在一个命令中——多个命令由
&&
分隔):java -jar fernflower.jar -dgs=true JarToDecompile.jar DecompiledJar && cd DecompiledJar && jar xf DecompiledJar.jar && cd ../