如何使用Gradle创建具有实现依赖关系的可执行FAT JAR?
我在Gradle4.6中有一个简单的项目,我想用它制作一个可执行的JAR。我尝试过shadow、gradle-fatjar-plugin、gradle-one-jar、spring-boot-gradle-plugin插件,但它们都没有添加声明为implementation的依赖项(我没有任何compile)。它适用于compile,例如用于gradle-one-jar插件,但我希望有implementation依赖项。
解决方案
您可以使用以下代码。
jar {
manifest {
attributes(
'Main-Class': 'com.package.YourClass'
)
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
请确保将com.package.YourClass替换为包含static void main( String args[] )的完全限定类名。
这将打包运行时依赖项。如果需要更多信息,请选中docs。
相关文章