メインメソッドを介してJavaクラスを実行するだけで現在機能するgradleビルドスクリプトがあります。私が知りたいのは、どうすれば同じクラスで静的メソッドを呼び出すことができるかということですが、メイン メソッドを経由する必要はありません。現在の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'
}
そして私の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);
}
}
これにより、出力が得られます。
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:runSimple
In main
In anotherMethod
arg1 arg2
BUILD SUCCESSFUL
Total time: 2.344 secs
私の質問は、どうすればメイン メソッドをスキップし、メソッド「anotherMethod」を gradle スクリプトから直接呼び出すことができるかということです。出力は次のようになります。
In anotherMethod
arg1 arg2
ありがとう