问题描述
我为此大声疾呼,但似乎无法弄清楚自己在做错什么。
我有一个文件夹“ 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
配置为项目
根。