3

シンプルなスタンドアロンのコマンドラインJavaアプリケーションを開発しています。プロジェクトはMavenによって管理されています。クライアントのマシンにコピーして実行できる成果物を作成したいと思います。

デフォルトの「jar-with-dependencies」タイプのmaven-assemblyプラグインは問題ありませんが、log4j.propertiesファイルをjarにパッケージ化したくありません。別の「res」フォルダに入れたいです。

resフォルダーのマニフェストファイルにClass-Pathヘッダーを配置できましたが、生成されたjarからlog4j.propertiesファイルを除外するのに問題があります。

私が試しているのは、カスタムアセンブリ記述子を記述せずにファイルを除外することです。次のように、デフォルトのソリューションをカスタマイズしたいと思います。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <excludes>
            <exclude>**/log4j.properties</exclude>
        </excludes>
      <archive>
            <manifest>
              <mainClass>com.my.App</mainClass>
            </manifest>
            <manifestEntries>
                <Class-Path>res/</Class-Path>
            </manifestEntries>
      </archive>
      <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration></plugin>

しかし、それは機能しません。このためにカスタムアセンブリ記述子を作成する必要がありますか?

4

1 に答える 1

2

ドキュメントから、<plugin>パラメータをカスタマイズするだけではファイルを除外できないようです。

<excludes>プラグインの有効なパラメータのようには見えないため、無視されます。

于 2011-02-21T12:00:01.660 に答える