java - 如何从 IntelliJ IDEA 中使用 Gradle 运行主要方法?

标签 java intellij-idea gradle

我是 IntelliJ IDEA(使用 2017.1.3)和 gradle 的新手...

Java 文件:

package com.example;

public class HelloGradle {

    public static void main(String[] args) {
        System.out.println("Hello Gradle!");
    }
}

build.gradle:

group 'com.example'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'application'

mainClassName = "HelloGradle"

sourceCompatibility = 1.8

repositories {
    maven {
        url("https://plugins.gradle.org/m2/")
    }
}

task(runMain, dependsOn: 'classes', type: JavaExec) {
    main = 'com.example.HelloGradle'
    classpath = sourceSets.main.runtimeClasspath
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

当我在 Gradle Projects 窗口中单击运行任务时,我得到以下信息:

enter image description here

如何设置 Gradle 或 IntelliJ IDEA 以将 main 方法中的内容打印到 IntelliJ IDEA 的控制台 View ?

真的不明白为什么控制台 View 没有弹出(从 IntelliJ IDEA 中以及为什么它不告诉我错误是什么)......

最佳答案

要设置 IntelliJ 运行主类,您只需右键单击 HelloGradle 类中的 main() 方法,然后选择“运行菜单中的 HelloGradle.main()”。您只需执行一次,因为它现在将与您运行的其他任务(即 Gradle 任务)一起显示在右上角的“运行/配置”菜单中。输出现在应该显示在您的控制台中。

对于您的 gradle 文件,这就是让 Tasks->build->... 下的所有 Gradle 任务顺利运行所需的一切。

group 'com.example'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
   mavenCentral()
}
dependencies {
   testCompile group: 'junit', name: 'junit', version: '4.12'
}
task(runMain, dependsOn: 'classes', type: JavaExec) {
   main = 'com.example.HelloGradle'
   classpath = sourceSets.main.runtimeClasspath
}

以防万一,不要忘记点击“刷新”按钮,即 Gradle 项目 View 中左上角的按钮。

更新 1: 我在 Gradle 文件中添加了 task 部分,它运行良好。您可以从 Gradle project->Run Configurations->HelloGradle[runMain] 运行项目。要查看输出,在左下角的“运行” View 中有一个切换按钮,称为“切换任务执行/文本模式”,上面有一个“ab”图标;按下它,您应该会看到相同的输出。

更新 2: 单击被包围的按钮以查看输出。 enter image description here

关于java - 如何从 IntelliJ IDEA 中使用 Gradle 运行主要方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44320306/

相关文章:

java - 构建我们的 Java 包

android - 使用 waitForDebugger 对 Android 进行 IntelliJ 调试

java - 从 Java 程序调用 Kotlin 时找不到 kotlin-reflection.jar

java - 在包内创建java文件

java - 如何让 Apache Derby 和 Hibernate 在 Java EE 应用程序中打印英文异常消息?

java - IntelliJ IDEA 13 使用 Java 1.5,尽管设置为 1.7

Android:使用具有 gradle 依赖项的库项目时出现 ClassNotFoundException

grails - Gradle - 创建具有不同版本依赖项的多个 jar

java - 如何选择以编程方式运行哪个 JDK

android - 如何自定义使用 "Surround with try/catch"时生成的代码?