33

\src\main\resources\logback.xml ファイルがあります。実行mvn packageすると、デフォルトでjarに配置されます。Maven を内部ではなく、jar の横に配置するにはどうすればよいですか?

ですから、Maven にリソースを jar があるのと同じフォルダーにコピーしてもらいたいだけです。

4

3 に答える 3

84

プラグイン定義は必要ありません。ビルド リソースを編集するだけです。

<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>

参照:

于 2011-04-20T13:18:35.050 に答える
0

Maven Assembly pluginを使用して、両方を含む ZIP ファイルを作成できます。

Maven Antrun プラグインなどを使用して、必要なファイルを配置することもできますが、プロジェクトごとに単一の成果物を作成するという考えは Maven の内部に深く組み込まれているため、他の場所で見つけ出す可能性があります。

于 2011-04-12T15:44:31.410 に答える
0

そのファイルを除外します: http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

次に、Maven Antrun プラグインを使用してファイルをコピーします。

ただし、後半はあまり意味がありません。サーバーに配置する構成ファイルの場合は、手動でコピーするだけです。

于 2011-04-13T15:24:36.870 に答える