20 Stimmen

Dateien in UNIX-Format mit Maven konvertieren

Ich habe eine Anwendung, die in einer Windows-Umgebung entwickelt wurde. Die Anwendung selbst wird in eine Linux-Umgebung bereitgestellt. Jedes Mal, wenn ich diese Anwendung bereitstelle, muss ich ausführbare Dateien im UNIX-Format mit dos2unix konvertieren. Ursprünglich dachte ich, dass dies durch die Windows CP1252-Kodierung verursacht wurde, also habe ich Maven aktualisiert, um die Dateien in UTF-8 zu kodieren. Dies hat mein Problem nicht gelöst, und ich habe schnell herausgefunden, dass dies mit Wagenrückläufen und Zeilenumbrüchen zu tun hat, indem ich diese Website durchsucht habe. Gibt es eine Möglichkeit, dass Maven während des Build-Prozesses alle Dateien im UNIX-Format konvertiert? Ich verwende Maven 2.2.1 und Java 5.

48voto

Pascal Thivent Punkte 548176

Das Assembly-Plugin verfügt über eine lineEnding Option, die verwendet werden kann, um das Zeilenende der Dateien für einen bestimmten fileSet zu steuern. Dieser Parameter ist genau dafür da, was Sie möchten. Letztendlich könnten Sie Zip-Archive mit CRLF-Zeilen und tar.gz-Archive mit LF-Zeilen erstellen.

Zum Beispiel:

...

    ${basedir}/src/main/build/QA
    /bin

        start.sh

    unix

...

Mögliche Werte umfassen derzeit:

  • "keep" - Alle Zeilenenden beibehalten
  • "unix" - Unix-Style-Zeilenenden verwenden (d.h. "\n")
  • "lf" - Einzelne Zeilenvorschub-Zeilenenden verwenden (d.h. "\n")
  • "dos" - DOS-/Windows-Style Zeilenenden verwenden (d.h. "\r\n")
  • "windows" - DOS-/Windows-Style Zeilenenden verwenden (d.h. "\r\n")
  • "crlf" - Wagenrücklauf-, Zeilenvorschub-Zeilenenden verwenden (d.h. "\r\n")

17voto

Kevin Punkte 29597

Sie können das Maven antrun-Plugin verwenden, um die fixcrlf Ant-Aufgabe aufzurufen:

    4.0.0

    ant-test
    ant-test
    1.0-SNAPSHOT
    jar

                org.apache.maven.plugins
                maven-antrun-plugin

                        ant-test
                        package

                            run

1 Stimmen

Ich habe ausprobiert, was zu funktionieren scheint. Ich benutze auch das Maven Assembly Plugin und es hat nun Probleme beim Lesen der JAR-Dateien aufgrund dieser Konvertierung. Irgendwelche Ideen, wie ich dies auf einem Windows-Rechner erstellen kann?

1 Stimmen

Sie möchten wahrscheinlich ein "include" oder "exclude" Attribut hinzufügen, damit Sie nur *.txt oder andere Ressourcen ändern, die Sie bearbeiten möchten.

0 Stimmen

Danke, die Einfüge-/Ausschluss-Optionen funktionierten. Es ändert jedoch die Dateien in meinen Quellverzeichnissen, was in Ordnung sein wird, aber gibt es eine Möglichkeit, dass das Maven Assembly-Plug-in diese Ant-Aufgabe ausführt, während es aufgebaut wird, damit ich meine Dateien nicht zurücksetzen oder einchecken muss?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X