Ein tool zum vergleichen von zwei .ear-Dateien rekursiv
Ich bin ändern Sie einen build-Prozess, und ich brauche, um einen kompletten Vergleich der Inhalte von zwei .ear-Dateien. Das bedeutet, dass rekursiv vergleichen jedes Archiv in der .Ohr. Diese .ear-Dateien Archive, die Archive enthalten.
Habe ich mir angeschaut Beyond Compare und Archiv Analyzer, aber nur für eine Ebene gleichzeitig. Ich habe manuell per drill-down in jedes Archiv. Ich bin auf der Suche nach etwas mehr Automatik.
Eclipse und UltraCompare machen Sie einen binären Vergleich der beiden .Ohren, das ist nicht das, was ich will.
Solch ein tool gibt?
- Ich würde vorschlagen, Kontaktaufnahme mit dem Jenseits Vergleichen Unterstützung. Sie sind sehr reaktionsschnell Weg in meine Erfahrung, und vielleicht helfen können.
Du musst angemeldet sein, um einen Kommentar abzugeben.
zipdiff bietet eine sehr gute open source Lösung.
Mein problem stellte sich heraus, dass mehr als nur die Erweiterung der .ear-Datei rekursiv (schrieb ich eine Java-Klasse zu tun, die - Rekursion es einfach.) Sobald die .ear-Dateien erweitert werden, ich habe zu diff die Verzeichnisse auf änderungen überprüfen. Wenn etwas anderes als timestamps verändert, dann weiß ich, dass der build produziert ein verschiedene binäre.
Das zweite problem ist, dass unser build-Prozess erzeugt Hunderte von .xml-Dateien und die anschließende baut re-generieren kann .xml-Dateien mit den Elementen in einer anderen Reihenfolge. Ich bin mir nicht sicher, warum. Wenn ich Sie zwei .ear-Dateien aus, indem Sie back-to-back baut keine änderungen auf alles, was der diff der resultierenden Verzeichnisse zeigt Hunderte von .xml-Dateien mit den diffs, obwohl Sie funktionell äquivalent sind.
Neben der Erweiterung der .ear-Dateien rekursiv ich brauche ein diff und ausgeschlossen werden .xml-Dateien in bestimmten Verzeichnissen. Ich dachte, dass Cygwin diff dies zu tun wäre, aber die --exclude-Option nicht erkennen, die Pfad-Informationen:
Cygwin diff nicht ausschließen, wenn Dateien ein Verzeichnis ist im Modell enthalten
Wenn ich nicht eine Lösung finden, werde ich schreiben Sie eine weitere Java-Klasse für Schritt durch die gesamte Verzeichnis-Struktur zu tun a single-level-diff in jedem Verzeichnis und unter Ausschluss der .xml-Dateien in die entsprechenden Verzeichnisse.
Habe ich das Gefühl, dass ich das Rad neu erfinden möchte, aber ich kann nicht finden, ein Rad jetzt.
In Beyond Compare gehen in die
Session Settings
dialog, und auf derHandling
tab ist einArchive Handling
option. WennAs folders always
BC behandeln Archive wie Ordner, also es ist vollständig rekursiv.FOLDER-REPORT
Befehl. Wenn Sie möchten, dass die Angaben innerhalb der Dateien verwendenEXPAND ALL
,SELECT DIFF.FILES NEWER.FILES OLDER.FILES ORPHAN.FILES
, dann "DATEI-BERICHT". DATEI/ORDNER-BERICHT-beide benötigen zusätzliche Parameter, die unter in der Hilfe. Sie können schreiben Sie den Bericht in einer HTML-oder nur-text-Datei.können Sie DevOps-tools. Es ermöglicht den Vergleich von Klassen innerhalb von Java-JAR-Archive und der Anzeige bestimmte Unterschiede, die in class-Dateien. Das tool führt eine Tiefe Vergleich - es decompiles die class-Dateien und zeigt die Unterschiede in der spezifischen code-Zeilen