首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >groovyc似乎不编译,类似乎无法运行。

groovyc似乎不编译,类似乎无法运行。
EN

Stack Overflow用户
提问于 2017-06-08 07:10:45
回答 2查看 499关注 0票数 0

我无法编译和运行Groovy脚本。我举第一个例子,Gold.groovy。我可以用groovyc Gold.groovy编译它。

之后当我尝试用java Gold开头时

我得到了错误信息

"Fehler: Hauptklasse Gold konnte nicht gefunden oder geladen werden“--意思是在英语中”找不到主要的类“

有没有人暗示我可以尝试什么,或者在哪里发现错误?

正手感谢

来源

代码语言:javascript
复制
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

请求的:屏幕输出

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-08 08:03:52

Gold.groovy:

代码语言:javascript
复制
def name = 'world'
println "hello $name!"

汇编:

代码语言:javascript
复制
groovyc Gold.groovy

生产Gold.class

运行(对于unix,在类路径中使用:而不是; ):

代码语言:javascript
复制
java -cp embeddable\groovy-all-2.4.11.jar;. Gold

产出:

代码语言:javascript
复制
hello world!
票数 1
EN

Stack Overflow用户

发布于 2017-06-08 07:41:57

你应该使用groovy Gold.groovy

Java实际上不知道groovy脚本。脚本总是被编译成类。Groovy编译器将为您编译该类,脚本正文将复制到run()方法中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44428958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档