\ src\main\resources\logback.xmlファイルがあります。 mvn package
を実行すると、デフォルトでjarに配置されます。どうすればMavenを内部ではなくjarの隣に配置できますか?
つまり、Mavenにリソースをjarがある同じフォルダーにコピーさせたいだけです。
プラグイン定義は不要です、ビルドリソースを編集するだけです:
<build>
<resources>
<!-- regular resource processsing for everything except logback.xml -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>logback.xml</exclude>
</excludes>
</resource>
<!-- resource processsing with a different output directory
for logback.xml -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>logback.xml</include>
</includes>
<!-- relative to target/classes
i.e. ${project.build.outputDirectory} -->
<targetPath>..</targetPath>
</resource>
</resources>
</build>
参照:
Maven Assemblyプラグイン を使用して、両方を含むZipファイルを作成できます。
Maven Antrun plugin などを使用して任意のファイルを配置することもできますが、プロジェクトごとに単一のアーティファクトのアイデアはMaven内部に深く組み込まれているため、他の場所で追い詰められる可能性があります。
そのファイルを除外します: http://maven.Apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
そして、Maven Antrunプラグインを使用してファイルをコピーします。
ただし、後者はあまり意味がありません。サーバーに配置する構成ファイルの場合は、単に手動でコピーします。