Vorwort
Heute bin ich auf ein Problem gestoßen. Wir haben eine Binärdatei ip.dat. Durch den Inhalt können wir die regionalen Informationen der IP analysieren. Die lokalen Unit -Tests sind in Ordnung. Nachdem wir in der Testumgebung bereitgestellt hatten, fanden wir einen Fehler beim Analysieren der IP. Wenn Sie die IP -Adresse in der Testumgebung ausdrucken, gibt es kein Problem beim Testen vor Ort. Schließlich stellte ich fest, dass die Größe der IP.DAT -Datei der Codebasis nur etwa 3,5 m beträgt, während die Größe der ip.dat -Datei der Testumgebung etwa 5 m beträgt.
Die Frage ist: Warum wird die Datei größer, nachdem ip.dat über Maven verpackt ist? Da Maven verpackt ist, wird diese Datei aus dem Conf -Verzeichnis unter SRC/Main/Ressourcen/kopiert. Ich habe IP.Dat direkt in das Conf -Verzeichnis anstelle des Ressourcenverzeichnisses gestellt und festgestellt, dass die Größe nach der Verpackung normal war.
Mit anderen Worten, während des Maven -Verpackungsprozesses sind die Dateien im Verzeichnis SRC/Main/Ressourcen/Ressourcen nur größer. Weil wir die Ressourcenfilterung im POM aktivieren.
<ressourcen> <ressourcen> <Direcidory> src/main/ressourcen </verzeichnis> <filtering> true </filtering> </ressourcen> </ressourcen>
Lösung
Die Lösung ist sehr einfach: Stellen Sie einfach IP.Dat in das Conf -Verzeichnis ein, ohne an der Ressourcenfilterung teilzunehmen. Wenn Sie IP.Dat in das Ressourcenverzeichnis einfügen müssen, können Sie diese über die folgende Konfiguration lösen.
<resources> <!--Exclude ip.dat, not packaged into classpath, naturally there will be no filtering --> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>ip.dat</exclude> </excludes> </resource> <!--Packing ip.dat into classpath, but not resource filtering --> <resource> <verzeichnis> src/main/ressourcen </verzeichnis> <filtering> false </filtering> <clors> <einclude> ip.dat </include> </include> </ressourcen> </ressourcen>
Wenn Sie Maven für die Ressourcenfilterung verwenden, filtern Sie nur Dateien, die gefiltert werden müssen, einige Binärdateien, wie z. B. HTTPS -Zertifikate usw., nicht an der Ressourcenfilterung beteiligt, andernfalls wird der Dateiinhalt nach der Verpackung beschädigt.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.