gpt4 book ai didi

java - 在Java中执行groovy文件

转载 作者:行者123 更新时间:2023-12-01 14:19:03 25 4
gpt4 key购买 nike

我正在尝试在 Java 中执行 .groovy 文件,但是对于 Java 和 Groovy 来说,我遇到了一些问题。我这样做是为了了解更多信息,如果有人能告诉我我做错了什么,我将不胜感激。

import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyObject;
import groovy.lang.GroovyShell;

import javax.naming.Binding;
import java.io.File;

public class testClass extends GroovyShell{

public static void main(String[] args){

try{
ClassLoader parent = testClass.class.getClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
Class groovyClass = loader.parseClass(new File("src/testg.groovy"));

GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance();
Object[] args1 = {};
groovyObject.invokeMethod("run",args1);


}catch(Exception e) {
System.out.println("error loading file");
}
}

}

我收到以下错误:

Groovyc: Cannot compile Groovy files: no Groovy library is defined for module 'Prep'
Using javac 1.7.0_09 to compile java sources
Compilation completed with 1 error and 0 warnings in 9 sec
1 error
0 warnings
Groovyc: Internal groovyc error: code 1

或者也许有人可以给我一个如何执行的例子,例如用 java 中的 groovy 编写的 hello world 脚本。

最佳答案

这不是您的代码引发的错误。这是 IntelliJ 抛出的错误,它尝试将 .groovy 文件编译为 .class 文件。

由于您想要的是在运行时解析并运行此 groovy 文件,因此您不应该关心此错误。或者更确切地说,为了避免这种情况,您不应将 .groovy 文件放在 IntelliJ 项目中标记为源目录的目录中,这样 IntelliJ 就不会尝试编译它。

关于java - 在Java中执行groovy文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17807400/

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