java调用groovy类——修正版


groovy代码

package com.ingping.core

import org.codehaus.groovy.grails.commons.ConfigurationHolder

/**
 * Created by IntelliJ IDEA.
 * User: Web-03
 * Date: 11-4-21
 * Time: 下午3:43
 * To change this template use File | Settings | File Templates.
 */
class SystemConfigRead {

   /*
   *  读取邮件验证访问路径
   */
     static String readEmailCodeUrl(){
        ConfigurationHolder.config.site.emailCodeUrl
     }
}

-------------------------------------------------------------------------------------

第一种,网上大部分都是这种

    /**
     * JAVA调用GROOVY
     * @throws IOException
     * @throws IllegalAccessException
     * @throws InstantiationException
     * 添加人:**
     * 添加时间:211-08-30 14:27
     */
    public void groovyToJava() throws IOException, IllegalAccessException, InstantiationException {
        ClassLoader parent = getClass().getClassLoader();
        GroovyClassLoader loader = new GroovyClassLoader(parent);
        //找到指定的groovy类
        Class groovyClass = loader.parseClass(new File("site/grails-app/utils/com/ingping/core/SystemConfigRead.groovy"));
        //将对象实例化并且强制转换为GroovyObject对象
        GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance();
        //readEmailCodeUrl方法名,null 参数值,没有为null
        System.out.println("" + groovyObject.invokeMethod("readEmailCodeUrl", null));
    }

第二种,真正常用,有用的是这样的,不要被蒙蔽了,JAVA类是可以直接调用GROOVY类的。

SystemConfigRead.readEmailCodeUrl();


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在Java调用Groovy包,需要使用Groovy的编译器API。下面是调用Groovy包的步骤: 1. 在Java项目中添加对Groovy库的依赖。 2. 编写Groovy代码,并将其保存为Groovy脚本或。 3. 在Java中创建GroovyShell对象,将Groovy脚本或加载到该对象中。 4. 使用GroovyShell对象执行Groovy脚本或中的方法。 下面是一个简单的示例: 首先,添加对Groovy库的依赖,例如使用Maven添加以下依赖: ``` <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.5.6</version> </dependency> ``` 然后,编写一个Groovy,例如: ``` package com.example.groovy class Greeter { String greeting(String name) { return "Hello, $name!" } } ``` 将Groovy保存在`src/main/resources/com/example/groovy/Greeter.groovy`。 接下来,在Java中加载Groovy并执行其中的方法,例如: ``` import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyObject; public class Main { public static void main(String[] args) throws Exception { GroovyClassLoader loader = new GroovyClassLoader(); Class groovyClass = loader.parseClass(Main.class.getResource("com/example/groovy/Greeter.groovy")); GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance(); String result = (String) groovyObject.invokeMethod("greeting", "World"); System.out.println(result); } } ``` 在上面的示例中,首先创建了一个GroovyClassLoader对象,并使用它加载了Groovy。然后创建了一个GroovyObject对象,并使用它调用Groovy中的`greeting`方法。最后,输出了方法的返回值。 希望这个例子可以帮助你理解如何在Java调用Groovy包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值