java - 有没有办法通过 Gradle 运行任意 main 方法?

标签 java gradle intellij-idea

当我使用 IntelliJ IDEA CE 并制作 Gradle-Java 项目时我意识到。

当我运行 Class.main() 时,例如 Hoge.main(), 运行窗口显示如下:

0:15:03 PM: Executing task 'Hoge.main()'...

以及在 gradle 任务列表中

:Hoge.main()

enter image description here

像这样(底线)。

如何在终端中执行此操作(不使用 IDEA)?如果可以的话,可能是这样的? (我知道 https://docs.gradle.org/current/userguide/application_plugin.html ,这对我的目的来说并不灵活)

gradle run Java Hoge 

只有IDEA有这个功能吗? 我看到了一些使用应用程序插件的想法,但我找不到像上面这样非常简单的方法......

最佳答案

这就是 gradle 包装器的用途。如果您有包装器(位于 [ProjectDir]/gradle/wrapper 文件夹中),那么您可以在没有 IDE 的情况下使用 Gradle。

A) 在 Windows 中,执行 gradlew.bat 脚本;

B) 在 Unix 中,执行 gradlew 脚本。

在您的情况下,您可以在终端中输入以下内容: gradlew run./gradlew run

附注 如果您想要多个“运行”任务,则需要像这样创建它们:

task runHoge(type: JavaExec,group: 'application'){
    classpath(sourceSets.main.runtimeClasspath)
    // set the main class name here
    setMain('package.Hoge')
}

关于java - 有没有办法通过 Gradle 运行任意 main 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59245134/

相关文章:

java - 从 mysql java 获取错误 "before start of result set"

jenkins - 如何在Jenkins工作区中收集所有Gradle依赖项

intellij-idea - 如何在 IntelliJ IDEA 中设置黑色背景?

debugging - 在 IntelliJ 中显示对象监视器

java - 对于Firestore需要添加哪些依赖项来编写Java代码?

java - 减少下一次迭代的列表长度

android - Gradle 构建运行无限时间

gradle - 如何在构建期间从 gradle 输出中获取测试时间信息?

gradle - Intellij 和 gradle 依赖问题

java - 接口(interface)如何在其签名或返回类型中包含引用接口(interface)具体实现类型的方法?