java-decompiler批量反解译jar包

主要是使用IDEA的插件包java-decompiler.ja进行批量的转换。

注意:由于插件使用的java环境是idea自带的jdk版本,则环境变量中的java需要配置成idea自带的jdk版本,对应的目录为 /opt/dep/idea-IU-223.8836.41/jbr

#!/bin/bash
# by liuchao


_work_path=$(pwd)/lib

#创建临时文件
$(> temp.txt)

for file in ${_work_path}/*.jar
do
# 提取目录下的文件、目录的名称,拼接删除命令    
  if test -f $file
  then
      echo $file"--->"${file##*/}
      _file_name=${file##*/}
      java -cp "/opt/dep/idea-IU-223.8836.41/plugins/java-decompiler/lib/java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true $file /opt/dep/srcs/
      # 解压转换后的jar包
      if test -f "/opt/dep/srcs/$_file_name"; then
          # 创建目录
          rm -rf /opt/dep/srcs/$_file_name.src
          mkdir /opt/dep/srcs/$_file_name.src
          # 解压
          unzip -q -d /opt/dep/srcs/$_file_name.src /opt/dep/srcs/$_file_name
          # 删除jar包
          rm -rf /opt/dep/srcs/$_file_name
      fi
      echo -n $file >> temp.txt
  else
      echo "目录不做任何处理!"
  fi
done

# java -cp "/opt/dep/idea-IU-223.8836.41/plugins/java-decompiler/lib/java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true /opt/dep/lib/service-model-10.2.1-20429.jar /opt/dep/srcs/


java-decompiler批量反解译jar包_第1张图片

转换后的结果

java-decompiler批量反解译jar包_第2张图片
参考文章:IDEA—使用插件反编译jar包

你可能感兴趣的:(Java,java,jar,intellij-idea)