0

Maven ビルドのセットアップがありますが、uberjar に 1 つの変更を加えるように要求されました。それは、依存関係として uberjar を使用するクライアントの後続のビルドを台無しにするため、pom ファイルを含めないようにすることです。これがこれを行う方法ではないことはわかっていますが、セキュリティ上の問題により、クライアントが中央リポジトリにアクセスできません。そのため、展開方法として uberjar が採用されました。問題はこれです:mavenを介したjarの作成にpomファイルを含めない方法はありますか?

ありがとう、

ブレア

4

1 に答える 1

0

maven-assembly-plugin を使用して uberjar をビルドし、アセンブリ記述子を使用していると思います。やりたいことは、"pom.xml" という名前のファイルを除外するように (アセンブリ記述子を介して) アセンブリ プラグインに指示することです。例えば:

<assembly>
<id>bin</id>
<formats>
    <format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
    <fileSet>
        <directory>target/classes</directory>
        <outputDirectory>/</outputDirectory>
    </fileSet>
</fileSets>
<dependencySets>
    <dependencySet>
        <outputDirectory>/</outputDirectory>
        <unpack>true</unpack>
        <unpackOptions>
            <excludes>
                <exclude>**/pom.xml</exclude>
            </excludes>
        </unpackOptions>
        <scope>runtime</scope>
        <useProjectArtifact>false</useProjectArtifact>
    </dependencySet>
</dependencySets>
</assembly>

ここで重要なのは、「unpackOptions」セクションとそこに含まれる除外です。

それが役に立てば幸いです。そうであれば、評判ポイントを獲得できるように、私の答えを正しいものとしてマークすることを忘れないでください。

于 2013-03-29T22:47:55.290 に答える