如何使用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。
相关文章