gpt4 book ai didi

java - 如何从 Gradle 调用静态 Java 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:54:46 27 4
gpt4 key购买 nike

我有一个 gradle 构建脚本,目前只需通过它的主要方法执行一个 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'
}

我的 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

我的问题很简单,我怎样才能跳过主要方法,直接从 gradle 脚本调用方法“anotherMethod”?输出将只是:

In anotherMethod
arg1 arg2

谢谢

最佳答案

您必须将 jar 或类添加到类路径中。这是一个包含该类的 jar 文件的示例。在文件 build.gradle 中添加依赖项。我的 jar 文件在 lib 文件夹中,路径是 lib/MQMonitor.jar

import mypackage.MyClass
buildscript {
repositories {
flatDir name: 'localRepository', dirs: 'lib'
}
dependencies {
classpath name: 'MQMonitor'
}
}

task myTaskCallJava << {
MyClass.foo()
}

关于java - 如何从 Gradle 调用静态 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17590581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com