Groovy解释器构建在JVM之上 . 我为JVM创建了一些Java库,并且在运行groovy脚本时将调用库中的一些函数 . 不幸的是,发生了一些错误

因此,我尝试在eclipse中启动groovy解释器,以便我可以在代码中设置断点并调试问题 .

因此,我所做的是:

  • 首先,我使用 groovy --indy ackermann.groovy 2 在linux中运行脚本,然后使用 ps 显示详细信息参数 . 我得到的是:

/ homes / sxu3 / 298182 / bin / java -Xbootclasspath / p:/homes/sxu3/tools/jars/asmInliner-4.0.1.jar:/homes/sxu3/tools/jars/invoke.jar:/ homes / sxu3 /工具/瓶/ ASM-全5.0.3.jar:/homes/sxu3/tools/jars/common-4.0.1.jar:/homes/sxu3/tools/jars/logback-classic-1.1.3.jar: /homes/sxu3/tools/jars/logback-core-1.1.3.jar:/homes/sxu3/tools/jars/slf4j-api-1.7.7.jar:/homes/sxu3/tools/jars/conf/ - classpath /homes/sxu3/bin/groovy-2.4.8/lib/groovy-2.4.8.jar -Dscript.name = / homes / sxu3 / bin / groovy-2.4.8 / bin / groovy -Dprogram.name = groovy -Dgroovy.starter.conf = / homes / sxu3 / bin / groovy-2.4.8 / conf / groovy-starter.conf -Dgroovy.home = / homes / sxu3 / bin / groovy-2.4.8 -Dtools.jar = / homes / sxu3 / 298182 / lib / tools.jar org.codehaus.groovy.tools.GroovyStarter --main groovy.ui.GroovyMain --conf /homes/sxu3/bin/groovy-2.4.8/conf/groovy-starter . conf --classpath . --indy ackermann.groovy 2

  • 在eclipse中,我创建了一个 run configuration > Java application > new . 主要类是: org.codehaus.groovy.tools.GroovyStarter

和VM参数:

-Dscript.name=Y:\bin\groovy-2.4.8\bin\groovy -Dprogram.name=groovy -Dgroovy.starter.conf=Y:\bin\groovy-2.4.8\conf\groovy-starter.conf -Dgroovy.home=y:\bin\groovy-2.4.8 -Dtools.jar=Y:\298182\lib\tools.jar --main groovy.ui.GroovyMain --conf Y:\bin\groovy-2.4.8\conf\groovy-starter.conf -classpath .   --indy

和"Program Arguments": Y:\bin\indy-benchmark-suite_orig\programs\groovy\ackermann.groovy 300

这显示在
Screenshot

3将我的库添加到VM引导程序和类路径中 .

单击 debug configuration 中的 Run 后,我收到以下错误:

JVMJ9VM007E Command-line option unrecognised: --main

诀窍在于groovy的groovy.sh脚本,它启动了一个Java进程 . 因此,我看是否有人可以帮助解决它 . 解释器开发人员在开发期间如何调试 .