groovyc 似乎无法编译,class 不可运行
groovyc seems to not compile, class not runnable
我无法编译 运行 Groovy-脚本。我举第一个例子 Gold.groovy
。我可以编译它
groovyc Gold.groovy
当我之后尝试启动它时:
java 黄金
我收到错误消息
"Fehler: Hauptklasse Gold konnte nicht gefunden oder geladen werden" -
which means in english ~ "Main class not found"
有没有人提示我可以尝试什么或在哪里可以找到错误?
感谢正手
来源
List fibo = [1, 1] //#A
List gold = [1, 2] //#B
while ( ! isGolden( gold[-1] ) ) { //#C
fibo.add( fibo[-1] + fibo[-2] ) //#D
gold.add( fibo[-1] / fibo[-2] ) //#E
}
println "found golden ratio with fibo(${ fibo.size-1 }) as"
println fibo[-1] + " / " + fibo[-2] + " = " + gold[-1]
println "_" * 10 + "|" + "_" * (10 * gold[-1])
def isGolden(candidate) { //#F
def small = 1 //#G
def big = small * candidate //#H
return isCloseEnough( (small+big)/big, big/small)
}
def isCloseEnough(a,b) { return (a-b).abs() < 1.0e-9 }
//#A Initial Fibonacci numbers
//#B Golden ration candidates
//#C Last gold candidate
//#D Next fibo number
//#E Next golden candidate
//#F Candidate satisfies golden rule
//#G Smaller section
//#H Bigger section
请求:屏幕输出
D:\work\groovy\GroovyInAction-master\listings\chap01>set CLASSPATH
CLASSPATH=.;D:\DevTools\groovy-2.4.7\embeddable\groovy-all-2.4.7.jar
D:\work\groovy\GroovyInAction-master\listings\chap01>type HelloWorld.groovy
println "Hello World"
D:\work\groovy\GroovyInAction-master\listings\chap01>groovyc HelloWorld.groovy
D:\work\groovy\GroovyInAction-master\listings\chap01>java WelloWorld
Fehler: Hauptklasse WelloWorld konnte nicht gefunden oder geladen werden
D:\work\groovy\GroovyInAction-master\listings\chap01>javac -cp .;D:\DevTools\gro
ovy-2.4.7\embeddable\groovy-all-2.4.7.jar HelloWorld
error: Class names, 'HelloWorld', are only accepted if annotation processing is
explicitly requested
1 error
你应该使用groovy Gold.groovy
Java 实际上不知道 groovy 脚本。脚本总是被编译成 class。 Groovy 编译器将为您编译 class,并将脚本主体复制到 run()
方法中。
Gold.groovy:
def name = 'world'
println "hello $name!"
编译:
groovyc Gold.groovy
产生Gold.class
运行(对于 unix,在类路径中使用 :
而不是 ;
):
java -cp embeddable\groovy-all-2.4.11.jar;. Gold
输出:
hello world!
我无法编译 运行 Groovy-脚本。我举第一个例子 Gold.groovy
。我可以编译它
groovyc Gold.groovy
当我之后尝试启动它时: java 黄金
我收到错误消息
"Fehler: Hauptklasse Gold konnte nicht gefunden oder geladen werden" - which means in english ~ "Main class not found"
有没有人提示我可以尝试什么或在哪里可以找到错误?
感谢正手
来源
List fibo = [1, 1] //#A
List gold = [1, 2] //#B
while ( ! isGolden( gold[-1] ) ) { //#C
fibo.add( fibo[-1] + fibo[-2] ) //#D
gold.add( fibo[-1] / fibo[-2] ) //#E
}
println "found golden ratio with fibo(${ fibo.size-1 }) as"
println fibo[-1] + " / " + fibo[-2] + " = " + gold[-1]
println "_" * 10 + "|" + "_" * (10 * gold[-1])
def isGolden(candidate) { //#F
def small = 1 //#G
def big = small * candidate //#H
return isCloseEnough( (small+big)/big, big/small)
}
def isCloseEnough(a,b) { return (a-b).abs() < 1.0e-9 }
//#A Initial Fibonacci numbers
//#B Golden ration candidates
//#C Last gold candidate
//#D Next fibo number
//#E Next golden candidate
//#F Candidate satisfies golden rule
//#G Smaller section
//#H Bigger section
请求:屏幕输出
D:\work\groovy\GroovyInAction-master\listings\chap01>set CLASSPATH
CLASSPATH=.;D:\DevTools\groovy-2.4.7\embeddable\groovy-all-2.4.7.jar
D:\work\groovy\GroovyInAction-master\listings\chap01>type HelloWorld.groovy
println "Hello World"
D:\work\groovy\GroovyInAction-master\listings\chap01>groovyc HelloWorld.groovy
D:\work\groovy\GroovyInAction-master\listings\chap01>java WelloWorld
Fehler: Hauptklasse WelloWorld konnte nicht gefunden oder geladen werden
D:\work\groovy\GroovyInAction-master\listings\chap01>javac -cp .;D:\DevTools\gro
ovy-2.4.7\embeddable\groovy-all-2.4.7.jar HelloWorld
error: Class names, 'HelloWorld', are only accepted if annotation processing is
explicitly requested
1 error
你应该使用groovy Gold.groovy
Java 实际上不知道 groovy 脚本。脚本总是被编译成 class。 Groovy 编译器将为您编译 class,并将脚本主体复制到 run()
方法中。
Gold.groovy:
def name = 'world'
println "hello $name!"
编译:
groovyc Gold.groovy
产生Gold.class
运行(对于 unix,在类路径中使用 :
而不是 ;
):
java -cp embeddable\groovy-all-2.4.11.jar;. Gold
输出:
hello world!