Gradle 把引用的内容,一起打包编译(gradlew clean ),生成独立jar包
1,情况:
用idea在gradle项目中编写代码,A独立模块,引用了B独立模块。
dependencies {
compile project(':web-b')
}
使用 gradlew clean jar 命令,生成的jar包并没有包含B模块的内容,需要同时引入B模块生成的jar包;
那如何在生成jar包的时候,把B模块也一起含括进来,生成一个相对独立的jar包呢?
1.使用shadow插件:
apply plugin: ‘com.github.johnrengelman.shadow’
apply plugin: 'com.github.johnrengelman.shadow'
version '1.0.0.RELEASE'
dependencies {
compile project(':web-b')
}
shadowJar {
classifier = null
dependencies {
exclude(dependency('org.*:.*'))
}
}
2,生成jar包
打包成可运行Jar包
gradlew clean shadowJar
或是双击shadowJar按钮,就可以打包所依赖的内容
或是制定项目:
$ gradlew :web-a:shadowJar
运行jar包
$ java -jar web-sso-client-1.0.0-SNAPSHOT.jar