13

pom.xml にセクションがあります

 <filters>
   <filter>
      <artifact>*:*</artifact>
         <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
         </excludes>
   </filter>
</filters>

*.SF および *.DSA ファイルを最終的な jar から除外したい。しかし、次のメッセージが表示されます。

[INFO] No artifact matching filter *:*

ファイルは除外されません。誰かがそれを克服する方法を知っていますか?

4

3 に答える 3

13

実際には、グループ ID を指定しなくてもグローバル フィルタリングを実行できます。正しいワイルドカード構文を使用するだけで済みます。たとえば、すべての *.RSA ファイルを jar から除外する場合は、artifactId を次のように指定します。*:*:*:*

<filters>
    <filter>
        <artifact>*:*:*:*</artifact>
        <excludes>
            <exclude>*.RSA</exclude>
        </excludes>
    </filter>
</filters>
于 2014-09-16T18:17:29.377 に答える
8

私も同じ問題を抱えていました。私のアーティファクトセレクターをより具体的にすることで修正されました。

<artifact>bouncycastle:*</artifact>

ブロック全体は次のようになります。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>com.mycompany.MainClass</mainClass>
                    </transformer>
                </transformers>
                <filters>
                    <filter>
                        <artifact>bouncycastle:*</artifact>
                        <excludes>
                            <exclude>META-INF/*.SF</exclude>
                            <exclude>META-INF/*.DSA</exclude>
                            <exclude>META-INF/*.RSA</exclude>
                        </excludes>
                    </filter>
                </filters>
                <shadedArtifactAttached>true</shadedArtifactAttached>
                <shadedClassifierName>standalone</shadedClassifierName>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
于 2013-07-15T16:20:58.743 に答える