当我通过命令行或Jenkins运行Groovy脚本时,出现“无法解析类”错误。
我在C:\ Users \ myuser \ git \ productname \ mycompany-build \ src \ main \ groovy \ com \ mycompany \ build的同一文件夹中有以下2个groovy文件
Foo.groovy
package com.mycompany.build
class Foo {
Foo() {
}
public void runBar() {
Bar bar = new Bar();
bar.name = "my name";
System.out.println(bar.name);
}
static void main(String[] args) {
Foo foo = new Foo();
foo.runBar()
}
}
Run Code Online (Sandbox Code Playgroud)
常规
package com.mycompany.build
class Bar {
String name;
}
Run Code Online (Sandbox Code Playgroud)
我使用命令行运行Foo.groovy。
运行Groovy时,我位于以下目录中:
C:\Users\myuser\git\productname\mycompany-build\src\main\groovy\com\mycompany\build
Run Code Online (Sandbox Code Playgroud)
这是我在命令行(cmd)上输入的内容:
C:/java/tools/groovy-2.4.11/bin/groovy -cp C:/Users/myuser/git/myproject/mycompany-build/src/main/groovy/com/mycompany/build Foo.groovy
Run Code Online (Sandbox Code Playgroud)
在无法找到类“ Bar”的地方得到以下信息,但Bar.groovy文件与Foo.groovy位于同一目录中,更不用说我也指定了-cp了。
org.codehaus.groovy.control.MultipleCompilationErrorsException: …Run Code Online (Sandbox Code Playgroud)