有些情形需要將項目依賴的jar包也合並入自己項目的jar包內,出來的這個jar我們稱它為fat-jar。我所使用的方法需要用到shadow插件:
下面例子展示將mybatis打入我的jar包,並將mybatis的包名由org.apache.ibatis 改成 my.org.apache.ibatis。
這個示例並不是一個完整的build.gradle文件。里面除了relocate這行其余均為必須。relocate:在合並包的時候修改依賴的包名。如果不是必要情況,可以忽略relocate這行。
plugins { id 'com.github.johnrengelman.shadow' version '2.0.4' } apply plugin: 'com.github.johnrengelman.shadow' dependencies { compile group: 'org.mybatis', name: 'mybatis', version: '3.4.5' } shadowJar { classifier = "" relocate 'org.apache.ibatis', 'my.org.apache.ibatis' dependencies { include(dependency("org.mybatis:mybatis:3.4.5:withDependencies")) } }
最后,運行eclipse的gradleTasks窗口中的shadowJar命令。
或者執行gradlew shadowJar