java - 如何使用具有实现依赖项的Gradle创建可执行文件胖子

原文 标签 java gradle executable-jar gradle-plugin fatjar

我在Gradle 4.6中有一个简单的项目,并希望制作一个可执行的jar。我已经尝试过shadowgradle-fatjar-plugingradle-one-jarspring-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

相关文章:

java - 如何在MySQL工作台中存储10x10地图/游戏场?

java - Playframework 2和多音调形式绑定

gradle - 如何在Gradle中下载依赖项

windows-7 - 使用Windows Scheduler运行jar文件

java - Python-IPython Notebook无法找到Java可执行文件

java - 如何在可执行JAR中加载TestNG配置?

java - 如何将数字添加到长值

java - Android微调器在OnCreate中执行ItemSelectedListener [重复]

intellij-idea - 我可以使用gradle自动更新Intellij项目以使用最新快照吗?

java - 如何在Gradle中指定模块的JDK编译级别