たちまち。

即席で役に立つこと。

作成したjavaファイルとリリース用classファイルの間に漏れがないかを確認する

とあるプロジェクトでJavaファイルを作成した。

リリースするのは、コンパイルされたclassファイルのみである。

リリース用にclassファイルのみ固めたものの、元となるソースが漏れなく含まれているかを確認したい。

ファイル数で確認できそうだが、複数クラス出力するjavaもいるし…

そんな時は以下のようにする。

1. javaのみ固めたフォルダと、classのみ固めたフォルダをそれぞれ用意。
2. コマンドプロンプトを起動し、javaのみ固めたフォルダに移動して、以下を実行。
dir /b /s *.java > javalist.txt

※ファイルリストを取得する。/bはファイル名のみ、/sはサブフォルダを含む。拡張子を絞っている。

3. 同様にclassのみ固めたフォルダに移動して、以下を実行。
dir /b /s *.class > classlist.txt
4. 生成されたテキストをそれぞれエディタで開き、以下のように加工する。

・パッケージより手前のフォルダパスは削除

・拡張子を削除

5. 加工したテキストをWinMerge等の比較ツールで比較

・差異なく表示される。

・1Javaから複数クラス出力されたものは差異として出るが、一見してわかる。

以上、ただの愚直な手順でした。