繁体   English   中英

从Groovy调用Java代码的问题

[英]Issue with calling java code from groovy

我有一个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.java构建Test.class地方:

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

你得到相同的结果吗?

运行groovy脚本时,需要在所有-D选项之前先设置classpath(-cp)参数。 否则,它将被忽略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM