2

Maven を使用してファット jar を構築するの例に従いましたが、次のコマンドを実行して、jar を構築/テストし、インストールできます。

mvn clean compile install

ただし、install今はファット jar を作成しているため、はるかに時間がかかります。インストールの 2 つのバージョンを持つことは可能ですか。1 つは依存関係なしで jar をビルドするだけで、もう 1 つはそれを行い、さらに次のようにファット jar をビルドします。

mvn clean compile install
mvn clean compile install-fatjar

有効なフェーズではないことはわかっinstall-fatjarていますが、何を達成しようとしているのか、つまり、オプションが提供された場合にのみファット jar がビルドされる条件付きインストールのアイデアを提供したいだけです。

4

2 に答える 2

5

ファット jar のプロファイルを作成し、maven アセンブリ プラグインを構成して、このプロファイルでファット jar を作成します。

たとえば、次のプロファイルを使用します。

<profiles>
    <profile>
        <id>fatjar</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>fully.qualified.MainClass</mainClass>
                            </manifest>
                        </archive>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>       
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

次に、プロファイルを有効にしてビルドできます

mvn -P fatjar clean install

fatjarプロファイル ID はどこにありますか。

複数のプロファイルをアクティブ化することもできます

mvn -P fatjar,release install
于 2013-08-28T06:19:24.623 に答える
1

通常、fat-jar (または uber-jar) をメインのアーティファクトとして使用しません。

Assembly または Shade プラグインを使用して、uber-jar であるアーティファクトのバリエーション (異なる分類子を使用) を作成できます。

「通常の」アーティファクトをそのままにしておくことを強くお勧めします。uber-jar がたまにしか必要ない場合は、"uber-jar" 作成用の assembly/shade プラグインの使用をプロファイルに入れ、いつでもプロファイルをアクティブにします。ただし、これにより、メインのアーティファクトを uber-jar にする代わりに、「追加の」uber-jar が生成されるはずです。

于 2013-08-28T06:30:58.710 に答える