Maven-assembly-plugin-Warnung "Die assembly-descriptor enthält ein Dateisystem-root-relativen Verweis"
Ab Aufbau-plugin in der version von maven-builds geben Sie die folgende Warnung:
[WARNUNG] Die assembly-descriptor enthält ein Dateisystem-root-relative
die Referenz,die ist nicht cross-Plattform kompatibel /
Ist es empfehlenswert, ready-to-use Lösung für dieses? Direkte googeln hat mir mit viel trash und keine wirkliche Hilfe. Re-check der Maven-assembly-plugin helfen, hat Sie keine Antwort für mich, vielleicht hat jemand anderes bessere such-Geschick und können helfen.
UPDATE
Ja, das ist wahrscheinlich, weil Linux-like outputDirectory
aber wie soll ich umschreiben, das tragbar sein? Sah auf der assembly-plugin Dokumentation und keine gefunden portability guide.
<fileSets>
<fileSet>
<directory>${basedir}/src/main/resources</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
- Können Sie die assembly-descriptor? Es wird wahrscheinlich zeigen, dass Sie irgendwie eine Referenz zu einem absoluten Pfad (/a/b/c), was zu vermeiden, um sicherzustellen, bauen Portabilität zwischen Umgebungen
- Ja das ist der Fall, wenn Sie erstellen eine tar-Datei, die nicht enthalten ein Dateisystem-root-Eintrag...was btw. nicht wirklich sinnvoll.
- Wie Sie sehen können die outputDirectory definiert eine
/
das würde in Konsequenz bedeuten, extrahieren Sie alle Inhalte, um immer die gleiche Lage. Abgesehen davon, dass diesem Standort ist beschränkt auf den root-account. Außerdem die Fragen ist, warum Sie verwendenfileSets
um diesrc/main/resources
Ordner? Besonderen Grund? - Ja, das ist was .tar.gz Montage so "/" hat nichts zu root-Accounts und root
src/main/resources
gehe nicht ins resultierende Artefakt JAR-aber geht .tar.gz Paket enthält benötigte zusätzliche Dinge wie Skripte. Ich habe nur noch nie versucht, nichts zu bieten durch<outputDirectory/>
. Also @Torsten Antwort passt mir 100%. - Hatte zu kratzen, die Jucken vor ein paar Tagen, so dachte ich, könnte ich auch teilen. Froh, dass ich helfen konnte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die funktionierende Lösung ist die Angabe des leeren
outputDirectory
:<outputDirectory/>
.
statt/
, d.h.:<outputDirectory>.</outputDirectory>
.Einer leeren
outputDirectory
element klappt, aber ich wäre nicht überrascht, wenn jemand vermutet, es könnte sicher gelöscht werden.Also, um dies noch deutlicher, Sie könnten auch vermeiden Sie die Warnung, indem Sie schreiben:
Beachten Sie, dass dies geschehen kann, die an anderen stellen neben nur
/
. Die oben genannten Antworten sind richtig, aber nicht in diesem Fall.Suchen Sie nach etwas ähnliches in Ihrem assembly.xml:
und ändern Sie diese: