在公司里,有很多历史的jar包可能都是通过eclipse进行创建打包的,没有使用maven进行依赖的管理,在后期需要对这些jar进行修改重新打包的时候,很容易出现各种问题导致工程报错无法正常打包。经过了好几天的努力,小编摸索了一整套好用的流程如下。
一、反编译jar包
1.在jar包所在的路径下,“shift+右键”->“在此处打开shell窗口”进入shell窗口;
2.在shell窗口中输入:
java -cp "D:\IDEA\IntelliJ IDEA 2018.3.4\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true DCETL.jar mysrc
#备注:DCETL.jar为要编译的jar包名,mysrc为编译后文件存放的位置,mysrc文件夹必须先创建。
二、在IDEA中创建新project,引入java文件并修改文件
1.创建新maven工程;
二、在pom文件中引入依赖jar包;
三、将反编译得到的程序包添加到java目录下,修改java文件,解决报错即可。
三、重新打包
1.如果需要将依赖jar包一同打包,在pom文件添加以下打包插件:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>lizhi.fm.analysis.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
#备注:需要在<mainClass></mainClass>
中指定主类名;
2.打包
打包完成!