【问题标题】:Does groovy run on jamvm?groovy 可以在 jamvm 上运行吗?
【发布时间】:2012-10-31 00:33:12
【问题描述】:

我想在嵌入式硬件中的 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('完整示例'部分)中运行了示例并得到了以下异常。我在 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 的方法。谢谢!

【问题讨论】:

    标签: groovy jamvm


    【解决方案1】:

    JAVA_HOME 是一个环境变量。您可以使用“导出”命令来设置它。 ExceptionInInitializerError 意味着它无法创建一个类。要真正了解问题所在,我们需要嵌入异常

    【讨论】:

      猜你喜欢
      • 2021-09-28
      • 2010-09-19
      • 2021-05-04
      • 2012-06-20
      • 2012-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多