我想在嵌入式硬件的jamvm上运行groovy。以下是我尝试过的方法,但都不起作用。
1) $GROOVY_HOME/bin/groovy ...
它会抱怨没有设置JAVA_HOME。既然JamVM是一个独立的可执行文件,那么如果可能的话,如何在JamVm中设置JAVA_HOME?如果问题简化为设置该设置,则很容易解决。
2) jamvm -cp $GROOVY_HOME/embedded/embeddable/groovy-all-2.0.5.jar:. TestClass
我在http://groovy.codehaus.org/Embedding+Groovy ('full example‘部分)中运行了这个示例,得到了以下异常。我在Mac上运行了同样的例子,它很好。
Exception in thread "main" BUG! exception in phase 'semantic analysis' in source unit '/root/test/Tester.groovy' 0
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:907)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:566)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:515)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:279)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:244)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:185)
at TestClass.main(TestClass.java:8)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.codehaus.groovy.vmplugin.v5.Java5.makeParameters(Java5.java:396)3)我试过了
java -cp ../groovy-2.0.5/embeddable/groovy-all-2.0.5.jar groovy.lang.GroovyShe ll <script.groovy>
不起作用,得到以下信息
java.lang.ExceptionInInitializerError at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:107)
请建议一种在jamvm上运行groovy的方法。谢谢!
发布于 2012-12-05 23:15:51
JAVA_HOME是一个环境变量。你可以使用"export“命令来设置这个参数。ExceptionInInitializerError表示无法创建类。要真正了解问题所在,我们需要嵌入异常
https://stackoverflow.com/questions/13149595
复制相似问题