一部のアセンブリプラグインバージョンから開始すると、Mavenビルドは次の警告を発行します。
[警告]アセンブリ記述子には、ファイルシステムルートの相対参照が含まれていますが、これはクロスプラットフォーム互換ではありません/
このためにすぐに使用できる推奨ソリューションはありますか?直接のグーグルは、私に多くのゴミを提供し、本当の助けはありませんでした。 Maven Assemblyプラグインのヘルプを再確認しても答えが得られませんでした。他の誰かがより良い検索スキルを持っていて、助けてくれるかもしれません。
[〜#〜] update [〜#〜]
はい、これはおそらくLinuxに似たoutputDirectory
によるものですが、これを移植可能にするにはどうすればよいですか?アセンブリプラグインのドキュメントを見て、ポータビリティガイドが見つかりませんでした。
<fileSets>
<fileSet>
<directory>${basedir}/src/main/resources</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
</fileSets>
実用的な解決策は、空のoutputDirectory
を指定することです。
<fileSets>
<fileSet>
<directory>${basedir}/src/main/resources</directory>
<outputDirectory></outputDirectory>
</fileSet>
</fileSets>
空のoutputDirectory
要素を使用することはできますが、誰かが安全に削除できると想定しても驚かないでしょう。
したがって、より明確にするために、次のように記述することで警告を回避することもできます。
<outputDirectory>${file.separator}</outputDirectory>
これは、/
。上記の答えは正しいですが、この場合はカバーしません。
Assembly.xmlで次のようなものを探します。
<fileSets>
<fileSet>
<directory>${basedir}/src/main/resources</directory>
<outputDirectory>/lib</outputDirectory> <!-- <<< look for this -->
</fileSet>
</fileSets>
そしてこれに変更します:
<fileSets>
<fileSet>
<directory>${basedir}/src/main/resources</directory>
<outputDirectory>lib</outputDirectory>
</fileSet>
</fileSets>