1. ホーム
  2. java

[解決済み] ファットJARとは何ですか?[重複]です。

2022-04-25 15:56:31

質問

ファットJARを作成してデプロイするという話を聞いたことがあります。実際にはどうなのでしょうか?

どのように解決するのですか?

Fat jarは、あなたのプロジェクトが依存するすべてのライブラリのクラスと、もちろん現在のプロジェクトのクラスが含まれるjarのことです。

ビルドシステムによってfat jarの作成方法は異なり、例えばGradleの場合は( インストラクション ):

task fatJar(type: Jar) {
    manifest {
        attributes 'Main-Class': 'com.example.Main'
    }
    baseName = project.name + '-all'
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

Mavenではこのように行われています(通常のjarをセットアップした後)。

<pluginRepositories>
   <pluginRepository>
        <id>onejar-maven-plugin.googlecode.com</id>
        <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
   </pluginRepository>

<plugin>
    <groupid>org.dstovall</groupid>
    <artifactid>onejar-maven-plugin</artifactid>
    <version>1.4.4</version>
    <executions>
        <execution>
            <configuration>
                <onejarversion>0.97</onejarversion>
                <classifier>onejar</classifier>
            </configuration>
            <goals>
                <goal>one-jar</goal>
            </goals>
        </execution>
   </executions>
</plugin>