2016-08-08 4 views
3

Mavenを使ってJavaプロジェクトをビルドしていますが、CHANGELOGLICENSEの2つのファイルがあります.JAR内のMETA-INFディレクトリにコピーしたいと思います。ファイル。 classes/META-INFディレクトリへMaven:JARのMETA-INFにファイルをインクルードする

<build> 
    <resources> 
     <resource> 
      <directory>${project.basedir}</directory> 
      <includes> 
       <include>CHANGELOG</include> 
       <include>LICENSE</include> 
      </includes> 
      <targetPath>META-INF</targetPath> 
     </resource> 
    </resources> 
    <plugins> 
     ... 

が、それもコピーし、それらの二つのファイルのコンパイル:

これまでのところ、私が働いて持っていることは以下の通りです。

私はファイルをJARファイルに含めることを希望しますが、他にはありません。これを行う方法はありますか?

答えて

5

あなたのニーズに対応するためにカスタムMaven設定を指定する必要はありません。
src/main/resourcesには、単にMETA-INFというフォルダを作成し、ここにファイルを配置します。
このようにして、ビルドされたJARのMETA-INFフォルダにそれらを見つけることができます。それは代わりにデフォルトsrc/main/resourcesのプロジェクトのルートにデフォルトのリソースフォルダを変更するため、

以外にも、あなたはpom.xmlに追加<resource>要素を削除する必要があります。

+0

しかし結果は同じですか?コンパイルしただけでは、これらのリソースファイルもコピーされます。私はそれらをJARファイルだけにコピーしたい。 –

+0

Jarでは、リソースはクラス/ META-INFで重複しないので、実際はありません。 META-INFディレクトリにのみ説明されています。 – davidxxx

+0

こんにちは@davidxxx。リソースがMETA-INFに送られるべきときに私はあなたのコメントに気付きましたが、META-INFの隣にあるjarファイルのルートにリソースを置くことは可能ですか?ありがとう。 – Cristian

関連する問題