相关疑难解决方法(0)

如何从Gradle调用静态Java方法

我有一个gradle构建脚本,目前只需通过它的main方法执行Java类即可.我想知道的是,如何在同一个类中调用静态方法,而不必通过main方法.当前的gradle代码如下:

import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: 'java'

defaultTasks 'runSimple'

project.ext.set("artifactId", "test-java")

File rootDir = project.getProjectDir()
File targetDir = file("${rootDir}/target")
FileCollection javaClasspath = files("${targetDir}/tools.jar")

task(runSimple, dependsOn: 'classes', type: JavaExec) {
    main = 'com.test.model.JavaTest'
    classpath = javaClasspath
    args 'arg1'
    args 'arg2'
}
Run Code Online (Sandbox Code Playgroud)

我的Java类如下:

package com.test.model;

public class JavaTest {

    public static void main(String[] args) throws Exception {
        System.out.println("In main");
        anotherMethod(args[0], args[1]);
    }

    public static void anotherMethod(String arg1, String arg2) {
        System.out.println("In anotherMethod");
        System.out.println(arg1 + " " + arg2);
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我输出:

:compileJava UP-TO-DATE …
Run Code Online (Sandbox Code Playgroud)

java gradle build.gradle

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

build.gradle ×1

gradle ×1

java ×1