Groovy 如何从一个脚本调用另一个脚本中定义的静态方法?

Groovy 如何从一个脚本调用另一个脚本中定义的静态方法?,groovy,Groovy,我在文件“shared.groovy”中定义了如下方法: def static configure() { ..... } 我在同一目录中还有另一个脚本文件,需要调用configure()方法。我正试着这样做 shared.configure() 但有一个例外: FATAL: No such property: shared for class: script14095498929361009943305 groovy.lang.MissingPropertyException: N

我在文件“shared.groovy”中定义了如下方法:

def static configure()
{
    .....
}
我在同一目录中还有另一个脚本文件,需要调用configure()方法。我正试着这样做

shared.configure()
但有一个例外:

FATAL: No such property: shared for class: script14095498929361009943305
groovy.lang.MissingPropertyException: No such property: shared for class: script14095498929361009943305

还有其他想法吗?

您可能需要先加载文件

我只知道两种在运行时动态加载groovy的方法

  • 闭包(具有以下语法:{inoutput,inoutput2->///Yourprocessing使用输入和输出参数})
  • 班级

  • 我不知道有什么方法可以只解析一个方法,这就是为什么我总是使用这些方法之一(我甚至创建了DummyClass并将我所需的静态方法放在其中,这是完美的)

    您可能需要先加载文件

    我只知道两种在运行时动态加载groovy的方法

  • 闭包(具有以下语法:{inoutput,inoutput2->///Yourprocessing使用输入和输出参数})
  • 班级
  • 我不知道如何只解析一个方法,这就是为什么我总是使用这些方法中的一种(我甚至创建了DummyClass并将我所需的静态方法放在其中,这是完美的)

    one.groovy:

    static void m1() {
       println 'One'
    }
    
    2.太棒了

    One.m1()
    
    它工作正常。

    One.groovy:

    static void m1() {
       println 'One'
    }
    
    2.太棒了

    One.m1()
    

    它工作得很好。

    这似乎在Groovy 2.5.3中得到了修复。在此之前,需要
    导入静态共享.configure
    (除了
    导入共享
    ),然后才调用
    shared.configure()

    ,这在Groovy 2.5.3中似乎是固定的。在此之前,需要
    导入静态共享。配置
    (除了
    导入共享
    ),然后才调用
    shared.configure()

    ,正如我所做的,结果是异常。可能是因为外部应用程序没有将classpath设置为包含脚本的文件夹。正是我所做的,导致了异常。可能是因为外部应用程序未将classpath设置为包含脚本的文件夹。如何通过此tempClass对象调用静态方法?正如我在示例中所做的,通过直接使用类调用它,而不是使用类xyz=new tempClass(),直接调用tempClass如何通过这个tempClass对象调用静态方法?正如我在示例中所做的那样,通过直接使用类调用它,而不是使用类xyz=new tempClass(),你直接给临时班打电话