我有一个groovy脚本source.groovy
#!/usr/bin/env runner
import groovy.sql.Sql
import my.package.MyJavaClass
def String NL = System.getProperty('line.separator')
我使用参数运行groovy:
groovy --classpath C:/Projects/myproject/build/classes source.groovy
其中classes是输出文件夹,其中ant放置编译的java代码。 但groovy失败并出现错误
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\Projects\myproject\src\groovy\source.groovy: 12: unable to resolve class my.package.MyJavaClass
@ line 12, column 1.
import my.package.MyJavaClass
^
1 error
我应该设置任何其他参数来从groovy导入java文件吗? 谢谢!
答案 0 :(得分:1)
是的,给定以下目录结构:
.
|-- build
| |-- classes
| |-- org
| |-- example
| |-- Test.class
|-- source.groovy
从Test.class
Test.java
的位置
package org.example ;
public class Test {
public String getName() {
return "tim_yates" ;
}
}
source.groovy
是:
import org.example.Test
println new Test().getName()
println new Test().name
然后,运行:
groovy -cp build/classes source.groovy
打印:
tim_yates
tim_yates
你得到相同的结果吗?
答案 1 :(得分:0)
运行groovy脚本时,需要在所有-D选项之前路径classpath(-cp)参数。否则,它会被忽略。