LoginSignup
2
1

More than 3 years have passed since last update.

MinecraftのmoddingでfatJarを作る

Last updated at Posted at 2017-09-08

そもそも、fatJarって?

サードパーティー製のライブラリなどを使った時に、そのライブラリも含み、全てを1つのjarファイルにしたもの(だと思っている)。

今回の環境

1つ目
・IntelliJ IDEA CommunityEdition 2016.3.4
・Forge 1.7.10-10.13.4.1614
・Forge Gradle 1.2

2つ目
・IntelliJ IDEA CommunityEdition 2016.3.4
・Forge 1.11.2-13.20.1.2386
・Forge Gradle 2.2-SNAPSHOT

どうやるの?

  1. build.gradleを開く
  2. 以下のソースを追加(もし、minecraft{}などが既にあった場合、そこに追記する形で)
  3. buildタスクを実行したらfatJarの完成!

※<>は書かないでください。
また、minecraft,configrations,dependencies,jarの順番はこのままでお願いします。
下記コードで「ここから」と「ここまで」の間は1.11.2の環境では消してください。

//ここから
minecraft {
    srgExtra "PK: <そのライブラリのルートディレクトリ> <jarファイルにした時のパス>"
}
//ここまで

configurations{
    shade
    compile.extendsFrom shade
}

dependencies {
    <compileshadeに変更、詳しくは下で>
}

jar {
    configurations.shade.each {dep ->
        from(project.zipTree(dep)){
            exclude 'META-INF', 'META-INF/**'
        }
    }
}

使用例(必要な部分のみ)

//ここから
minecraft {
    srgExtra "PK: com/fasterxml/jackson/annotation com/fasterxml/jackson/annotation"
    srgExtra "PK: com/fasterxml/jackson/core com/fasterxml/jackson/core"
    srgExtra "PK: com/fasterxml/jackson/databind com/fasterxml/jackson/databind"
}
//ここまで

configurations{
    shade
    compile.extendsFrom shade
}

dependencies {
    shade group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.0'
}

jar {
    configurations.shade.each {dep ->
        from(project.zipTree(dep)){
            exclude 'META-INF', 'META-INF/**'
        }
    }
}
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1