プログラマーが他のJavaプロジェクトのコードから学ぶことは避けられません。.calssファイル、jarパッケージ、またはwarパッケージしか取得できない場合があります。現時点では、プログラマーはこれらのタイプのファイルをJavaコードに逆コンパイルし、コンパイルして実行できるプロジェクトを形成できる必要があります。この記事で紹介するデコンパイルツールはJD-GUIです。逆コンパイルされたjarパッケージは、springbootプロジェクトのjarパッケージです。
デコンパイルツールの使用
JD-GUIをダウンロードした後、解凍します。インストールする必要はありません。ダブルクリックしてexeファイルを開きます。
ファイルを
開く逆コンパイルするjarパッケージを選択して開くと、javaソースコードファイルが左側のclasses-> comディレクトリにあります。
表示したいファイルをクリックすると、ソースコードが表示され、下線付きの変数記号をクリックすると、定義場所に自動的にジャンプします。変数名を検索することもできますが、検索が遅くなり、しばらく待つ必要があります。
ソースコードを取得する
このように、コードのみを表示できます。コードをコンパイル、変更、および実行するには、すべてのコードを抽出してプロジェクトを形成する必要があります。すべてのソース保存[ファイル] - >をクリックして
、ソースコードが圧縮されて保存されます
アーカイブ解凍の3つのフォルダーです
でBOOT-INF / calsses / COMでのJavaコード
の良い空springbootを確立するために、すべての物事のclassesディレクトリとコピープロジェクトでコンパイルして実行します。ディレクトリ階層を正しくコピーする必要があります。
プロジェクト構成ファイルを取得する
プロジェクト構成ファイルapplication.propertiesおよびpom.xmのコンテンツをコピーし、解凍されたディレクトリに同じ名前のファイルのコンテンツを貼り付けます。
プロジェクトが依存するjarパッケージを取得します
これで、プロジェクトコードと構成ファイルも利用できるようになりましたが、通常、プロジェクトは正常に実行できません。逆コンパイルされたpomは特に正確ではないため、多くのプロジェクトで必要なパッケージのpomにインポートがない場合があります。または、元のプロジェクトで使用されていたjarパッケージの一部は、pomによって管理されておらず、元々手動でプロジェクトにインポートされていました。
最良の方法は、逆コンパイルされたjarパッケージからインポートする必要があるすべてのjarパッケージを抽出することです。
test01.jarのサフィックスをziptest01.zipに変更し、現在のフォルダーに解凍します。
解凍されたBOOT-INF \ libには、このプロジェクトに必要なすべてのjarパッケージが含まれており、すべてのjarパッケージは、外部jarを追加することによってプロジェクトに追加されます。
プロジェクトを実行する
逆コンパイルされたコードは特に正確ではないため、ここでプロジェクトを正常に実行するのに非常に近いです。一部のコードは手動で分析および変更する必要があります。そうでない場合、変更はコンパイルに合格する前にコメントアウトする必要があります。一部のパッケージは、主にpomによってインポートされたパッケージが手動でインポートされたパッケージと競合するか、一部のパッケージのバージョンが正しくないため、実行時にエラーを報告する場合があります。これは1つずつ解決する必要があります。もちろん、一部の逆コンパイルされたプロジェクトは、エラーを報告せずに正しく実行できます。これはもちろん最高です。