我有一个 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 文件吗? 谢谢!
最佳答案
正确,给定以下目录结构:
.
|-- 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
你得到同样的结果吗?
关于java - 从 groovy 调用 java 代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997931/