Hola usuario de nuestra web, hemos encontrado la solución a tu pregunta, deslízate y la encontrarás aquí.
Solución:
A partir de agosto de 2017 e IntelliJ V2017.2, la respuesta aceptada ya no parece ser del todo precisa: no hay fernflower.jar
usar.
El archivo jar se llama java-decompiler.jar
y no incluye un manifiesto principal… En su lugar, puede usar el siguiente comando (desde una instalación de Mac):
java -cp "/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler
(te equivocarás Uso comando, pero funciona).
Para utilizar el descompilador de Java IntelliJ desde la línea de comandos para un paquete jar, siga las instrucciones proporcionadas aquí: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
Siga las instrucciones para el complemento IntelliJ JD. O vea un extracto de las instrucciones a continuación.
java -jar fernflower.jar [
+
significa 1 o más veces: archivo o directorio con archivos a descompilar. Los directorios se exploran recursivamente. Las extensiones de archivo permitidas son class, zip y jar.
: directorio de destino
Ejemplo:
java -jar fernflower.jar -hdc=0 -dgs=1 -rsy=1 -lit=1 c:Tempbinary -e=c:Javart.jar c:Tempsource
Tenga en cuenta que si le pasa un archivo “.jar” para el origen, creará otro archivo “.jar” en el destino; sin embargo, dentro del nuevo archivo “.jar”, los archivos serán .java en lugar de . archivos de clase (no explota el jar).
ACTUALIZAR
La gente me pregunta: ¿Cómo obtengo el fernflower.jar?
Si tiene algún producto IntelliJ instalado, lo más probable es que ya tenga el descompilador Fernflower en su computadora. IntelliJ IDEA viene con el complemento Java Bytecode Decompiler (incluido), que es una extensión moderna de Fernflower.
- Localice el archivo en
$IntelliJ_INSTALL_DIRpluginsjava-decompilerlibjava-decompiler.jar
(ejemplo: C:Archivos de programaJetBrainsIntelliJ IDEA 2018pluginsjava-decompilerlib). - Cópielo en algún lugar y cambie el nombre a fernflower.jar (opcional).
-
Este JAR no es ejecutable, por lo que no podemos ejecutarlo usando
java -jar
. Sin embargo, algo como esto funciona:java -cp fernflower.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler [
org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler
es la clase que contiene el método principal para ejecutar el descompilador.Ejemplo:
mkdir output_src java -cp fernflower.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -hdc=0 -dgs=1 -rsy=1 -lit=1 ./input.jar ./output_src
Si no tiene productos IntelliJ instalados, descárguelos ahora (disponible en jetbrains.com) o cree su propio descompilador ejecutable desde las fuentes (disponible en Github).
Nos encantaría que puedieras dar recomendación a esta división si te fue de ayuda.