2017-10-26 19 views
0

私はMavenを使用してJARをビルドします。 JARを確認すると、META-INFフォルダ内にmavenというフォルダが表示されます。私はそれをビルドから除外したい。 pom.xmlで私の現在のビルドのコードは次のようになります。Maven:JARから "META-INF/maven"フォルダを除外

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>Libraries</classpathPrefix> 
         <mainClass>com.company.Main</mainClass> 
        </manifest> 
        <manifestEntries> 
         <Built-By>Me</Built-By> 
        </manifestEntries> 
       </archive> 
       <!-- <excludes> 
        <exclude>META-INF/maven/**</exclude> 
       </excludes> --> 
      </configuration> 
     </plugin> 
     <!-- ...more plugins... --> 
    </plugins> 
</build> 

私はexcludeタグを使用すると、あなたが何かを除外することができますが、それは動作しないことをお読みください。たぶんこれはローカルのファイル/フォルダを指しているだけでしょうか? mavenフォルダはソースの一部ではなく、ちょうどMavenによって追加されました。

This回答の種類は異なりますが、別のアーティファクトを使用するため、pom.xmlに貼り付けると2番目のJARが生成されます。私は現在のビルドコードを使用し、上記のようにmavenフォルダを除外したいと思います。どのようにmavenビルドルールを使用して行うことができますか?

答えて

1

maven-jar-pluginは、maven-archiverを使用してパッケージングを処理します。デフォルトでtrueの設定addMavenDescriptorが提供されます。 falseに設定すると、META-INF/mavenディレクトリが削除されます。

... 
<archive> 
    <addMavenDescriptor>false</addMavenDescriptor> 
    .... 
</archive> 

参考文献hereがあります。

関連する問題