基础知识:以groovy导入类

问题描述

我为此大声疾呼,但似乎无法弄清楚自己在做错什么。

我有一个文件夹“ myproject”和两个文件-“ MyScript.groovy”和“ MyClass.groovy”。

MyClass.groovy

package myproject

public class MyClass {
    void printHello() {
        println("hello")
    }
}

MyScript.groovy

package myproject
import myproject.MyClass

def myObject = new MyClass()
myObject.printHello()

当我尝试运行MyScript.groovy时,出现以下错误

[Running] groovy "c:\Users\myUser\...\myproject\MyScript.groovy"
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup Failed:
C:\Users\myUser\...\myproject\MyScript.groovy: 2: unable to resolve class myproject.MyClass
 @ line 2,column 1.
   import myproject.MyClass
   ^

1 error

我认为这无关紧要,但是我正在通过Visual Studio中的代码运行器扩展来运行它。 任何帮助,将不胜感激。 :)

解决方法

无需进一步配置,Groovy假定当前工作正常 是类路径(的一部分)的目录。所以你的设置基本上是 正确;假设是这样的:

# find .
.
./myproject
./myproject/MyClass.groovy
./myproject/MyScript.groovy

因此,在包结构和目录结构匹配的地方运行此命令, 它有效:

# groovy myproject/MyScript.groovy 
hello

因此,这里最可能的问题是您的IDE尚未设置 cwd正确,或者您已将.../myproject配置为项目 根。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...