1. 程式人生 > >反編譯 war 包成傳統項目的方法

反編譯 war 包成傳統項目的方法

pack rtu plugins zip 項目配置 ... start apach gin

需求

項目老大讓外包做了官網,不甚滿意,想自己搞搞,遂叫我反編譯他們發過來的 war 包。

方法

第一步:解壓

war 包其實就是 zip 壓縮包,用 zip 解壓。

第二步:反編譯

查看 war 包下面的 WEB-INF/classes,用 http://java-decompiler.github.io/ jd-gui 直接打開一個 class 文件,自動反編譯文件下所有文件。然後在菜單中導出代碼。

第三步:建立 maven 項目

在 IDEA 中建立 maven 項目,導入依賴,根據 WEB-INF/lib 下的依賴導入,也可以直接把類庫放入 classpath 下。

第四步:修改項目配置

有一些其他的資源,例如 spring.xml 等,放入 resources 目錄下。

還有一些靜態資源,可以進行如下配置,這些文件會直接放到 war 根目錄下。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>resource2</directory>
            </resource>
          </webResources>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

還有一些資源原來在 WEB-INF 下的,直接放入在 java 同級建立 web-inf 目錄,再創建 WEB-INF 目錄,放入。

第五步:打包

mvn package

第六步:下載 tomcat,放入 war,啟動

http://tomcat.apache.org/,war 放入 tomcat 目錄下 webapp 中,bin 中 startup.bat 啟動

後記

老大說我幹的不錯,哈哈

反編譯 war 包成傳統項目的方法