1、检查idea是否有安装Java Bytecode Decomplier插件(基本上都有) 2、找到插件的运行包 目录:..idea\plugins\java-decompiler\lib\java-decompiler.jar 3、执行命令可生成原码jar包 java -cp “D:\decompiler\java-decompiler.jar” org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true D:\decompiler\xxx\xxx-web-1.5.0-SNAPSHOT.jar src
4、工具方法
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import java.io.*;
import java.util.List;
public class Decompiler {
public static void main(String[] args) throws IOException, InterruptedException {
String rootPath = "D:\\acloud_jar\\acloud_lib";
List<String> fileNames = FileUtil.listFileNames(rootPath);
if (CollectionUtil.isEmpty(fileNames)) {
return;
}
for (String fileName : fileNames) {
if(!fileName.contains("acloud")){
return;
}
Process p = Runtime.getRuntime().exec(String.format("java -cp \"D:\\acloud_jar\\java-decompiler.jar\" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true %s D:\\acloud_jar\\src", String.format("%s%s%s", rootPath, File.separator, fileName)));
InputStream is = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
p.waitFor();
is.close();
reader.close();
p.destroy();
}
}
}