如何使用gradle构建的项目执行命令行工具?

时间:2016-07-06 15:02:19

标签: java gradle

运行使用Gradle构建的Java应用程序需要为每个库添加一个目录,因为它将它们存储在各个目录中。

因此,当您查看在IntelliJ中启动应用程序的命令时,您可以轻松地看到一个充满类路径依赖关系的整个屏幕。

这对于IntelliJ来说很好,因为它可以自动解决它们,但我希望能够在终端中运行我的命令行工具,在那里编写参数,而不是每次我想要更改任何内容时编辑我的运行配置。如果不从IDE中粘贴整个机器特定的JAR依赖项屏幕,我怎么能这样做呢?

是否可以在开发环境中进行,而无需创建捆绑所有库的巨型JAR文件?

1 个答案:

答案 0 :(得分:4)

看看JavaExec task。您可以创建自定义任务:

[pager]
    log  = less -FRX
    diff = less -FRX
    show = less -FRX

然后您可以使用exec('mode con', $output); 调用它。如果您希望能够提供命令行参数,我建议使用gradle属性:

task customRun(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    main = "fully.qualified.name.of.your.main"
    args = ["100", "1000" ...] // the command line options for your tool
    jvmArgs = [ ... ] // additional JVM args you might need
}

并修改任务以获取参数:

gradle customRun