組み込みハードウェアの 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 を実行する方法を提案してください。ありがとう!