2015-10-01 14 views
5

jarファイル内に必要なすべてのクラスが抽出されたjarファイルを作成しようとしています。しかし、log4jのようないくつかの依存jarでは、META-INF/maven/*の中にいくつかのフォルダが作成されます。生成されたjarファイルを配置するサーバーにインターネット接続ができないという制限があります。したがって、このMETA-INF/maven/*フォルダにコンテンツがあると、エラーが表示されます。私のMavenの記述は以下の生成されたjarファイルからMETA-INF/mavenフォルダを除外します

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <addMavenDescriptor>false</addMavenDescriptor> 
       </archive> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <minimizeJar>true</minimizeJar> 
       <finalName>myclient</finalName> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

のように見えます

私は、生成されたjarファイルに必要なクラス・ファイルを抽出することができていますが、Mavenのフォルダは、まだMETA-INF下で発生なっています。私は手動でフォルダをすべて削除する必要があります。生成されたjarファイルからmavenフォルダの削除を自動化する方法に関するアドバイスをお願いします。

答えて

11

あなたはすべてのアーティファクトのためMETA-INF/maven下にあるすべてのものを除外するmaven-shade-pluginコンフィギュレーション内のfiltersを使用することができます。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-shade-plugin</artifactId> 
    <version>2.4.1</version> 
    <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
       <goal>shade</goal> 
      </goals> 
      <configuration> 
       <filters> 
        <filter> 
         <artifact>*:*</artifact> 
         <excludes> 
          <exclude>META-INF/maven/**</exclude> 
         </excludes> 
        </filter> 
       </filters> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

maven-jar-pluginのためのソリューションがhereを見つけることができます。

+0

あなたが大好きです –

関連する問題