让Groovy的葡萄走吧!

Bob*_*ann 12 grails groovy ruby-grape

我试图在Groovy 1.6-beta-2中使用新的Groovy Grape功能,但是我收到了一条错误消息;

unable to resolve class com.jidesoft.swing.JideSplitButton
Run Code Online (Sandbox Code Playgroud)

运行stock示例时,从Groovy控制台(/opt/groovy/groovy-1.6-beta-2/bin/groovyConsole);

import com.jidesoft.swing.JideSplitButton
@Grab(group='com.jidesoft', module='jide-oss', version='[2.2.1,)')
public class TestClassAnnotation {
    public static String testMethod () {
        return JideSplitButton.class.name
    }
}
Run Code Online (Sandbox Code Playgroud)

我甚至尝试运行葡萄命令行工具以确保导入库.像这样;

 $ /opt/groovy/groovy-1.6-beta-2/bin/grape install com.jidesoft jide-oss
Run Code Online (Sandbox Code Playgroud)

哪个安装库就好了.如何从groovyConsole获取正确运行/编译的代码?

she*_*non 5

在启动/终止开关例程时仍然存在一些问题.对于Beta-2,首先在它自己的脚本中执行此操作:

groovy.grape.Grape.initGrape()
Run Code Online (Sandbox Code Playgroud)

你将遇到的另一个问题涉及使用无界上限的乐趣.从2.3.0开始的Jide-oss已经将它们的代码编译为Java 6字节码,因此你需要在Java 6中运行控制台(这也是你想要为Swing做的事情)或者设置一个上限.范围,像这样

import com.jidesoft.swing.JideSplitButton

@Grab(group='com.jidesoft', module='jide-oss', version='[2.2.1,2.3.0)')
public class TestClassAnnotation {
    public static String testMethod () {
        return JideSplitButton.class.name
    }
}

new TestClassAnnotation().testMethod()
Run Code Online (Sandbox Code Playgroud)


Jim*_*ris 5

我终于让它适用于Groovy Shell(1.6.5,JVM:1.6.0_13).这应该更好地记录.

首先在命令行......

grape install org.codehaus.groovy.modules.http-builder http-builder 0.5.0-RC2

然后在groovysh ......

groovy:000> import groovy.grape.Grape
groovy:000> Grape.grab(group:'org.codehaus.groovy.modules.http-builder', module:'http-builder', version:'0.5.0-RC2')
groovy:000> def http= new groovyx.net.http.HTTPBuilder('http://rovio')
===> groovyx.net.http.HTTPBuilder@91520
Run Code Online (Sandbox Code Playgroud)

@grab最好在文件中使用,而不是shell.