私の問題は、.earファイルを再帰的に拡張するだけのことではありませんでした(Javaクラスを作成して再帰を単純化しました).earファイルを展開したら、チェックするディレクトリ変更の場合タイムスタンプ以外が変更された場合は、ビルドが別のバイナリを生成していることがわかります。
第2の問題は、ビルドプロセスで何百もの.xmlファイルが生成され、その後のビルドで要素が異なる順序でそれらの.xmlファイルが再生成されることです。なぜ私は分からない。何も変更せずにバックツーバックビルドで作成された2つの.earファイルを展開すると、結果として得られるディレクトリのdiffは機能的に同等であってもdiffを含む何百もの.xmlファイルを表示します。
.earファイルを再帰的に展開するだけでなく、diffを実行して、特定のディレクトリで.xmlファイルを除外する必要があります。私はCygwinのdiffがこれを行うだろうと思ったが、--excludeスイッチは、任意のパス情報を認識しません:
Cygwin diff won't exclude files if a directory is included in the pattern
私はこれに対する解決策が見つからない場合は私が別のJavaクラスを記述します各ディレクトリ内の単一のレベルのdiffを実行し、適切なディレクトリ内の.xmlファイルを除外するディレクトリ構造全体をステップ実行します。
私はホイールを再発明していると感じていますが、今はホイールを見つけることができません。
私はBeyond Compareのサポートに連絡することをお勧めします。彼らは私の経験ではとても反応があり、助けてくれるかもしれません。 – TrueWill