ソース
import static spark.Spark.*
import groovy.json.JsonBuilder
class A {
def a = "test"
def b = ['a':1, 'b': [111, 222, 333]]
}
class B {
public static void main(String[] args) {
Object.metaClass.asJson = {
def builder = new JsonBuilder(delegate);
builder.toString()
}
def obj = new A()
get('/obj', { req, res -> obj.asJson() })
}
}
- Script実行すると、以下のようなエラーが出ます。
C:\hogehoge>groovy -classpath "%CLASSPATH%" src\main\groovy\foo.groovy
Caught: groovy.lang.GroovyRuntimeException: This script or class could not be run.
It should either:
- have a main method,
- be a JUnit test or extend GroovyTestCase,
- implement the Runnable interface,
- or be compatible with a registered script runner. Known runners:
* <none>
groovy.lang.GroovyRuntimeException: This script or class could not be run.
It should either:
- have a main method,
- be a JUnit test or extend GroovyTestCase,
- implement the Runnable interface,
- or be compatible with a registered script runner. Known runners:
* <none>
修正
- どうやら最初のクラスにmainが無いといけないようです。
The Groovy programming language - Mailing-lists
import static spark.Spark.*
import groovy.json.JsonBuilder
class B {
public static void main(String[] args) {
Object.metaClass.asJson = {
def builder = new JsonBuilder(delegate);
builder.toString()
}
def obj = new A()
get('/obj', { req, res -> obj.asJson() })
}
}
class A {
def a = "test"
def b = ['a':1, 'b': [111, 222, 333]]
}
これで動いた!