0

我对此感到头疼,但我似乎无法弄清楚我做错了什么。

我有一个文件夹“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 中的 Code Runner Extension 运行它。任何帮助,将不胜感激。:)

4

1 回答 1

0

在没有进一步配置的情况下,Groovy 假定当前工作目录是类路径(的一部分)。所以你的设置基本上是正确的;假设它是这样的:

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

因此,在包结构和目录结构匹配的地方运行它,它可以工作:

# groovy myproject/MyScript.groovy 
hello

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

于 2020-09-08T14:32:40.033 回答