groovyConsole 启动时抛出 java.lang.reflect.InvocationTargetException

标签 groovy groovy-console

我刚刚从 Ubuntu 的软件中心在 Ubuntu Studio 12.10 中安装了 groovy,我正在尝试运行 GroovyConsole,但是当我执行“groovyConsole”时它抛出一个异常:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:108)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:130)
Caused by: java.awt.HeadlessException
    at sun.awt.HeadlessToolkit.getMenuShortcutKeyMask(HeadlessToolkit.java:237)
    at sun.awt.HeadlessToolkit$getMenuShortcutKeyMask.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
    at groovy.swing.SwingBuilder.shortcut(SwingBuilder.groovy:379)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:226)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)
    at groovy.swing.SwingBuilder.shortcut(SwingBuilder.groovy)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1047)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
    at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:793)
    at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:776)
    at groovy.util.FactoryInterceptorMetaClass.invokeMethod(FactoryBuilderSupport.java:1287)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
    at groovy.ui.ConsoleActions.run(ConsoleActions.groovy:27)
    at groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1123)
    at groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1106)
    at groovy.util.FactoryBuilderSupport$build.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at groovy.ui.Console.run(Console.groovy:298)
    at groovy.ui.Console$run$0.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
    at groovy.ui.Console.run(Console.groovy:264)
    at groovy.ui.Console$run.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
    at groovy.ui.Console.main(Console.groovy:199)
    ... 6 more

我有openJDK

java version "1.7.0_15" OpenJDK Runtime Environment (IcedTea7 2.3.7) (7u15-2.3.7-0ubuntu1~12.10.1) OpenJDK Server VM (build 23.7-b01, mixed mode)

groovysh 和 groovy 命令工作正常。 有什么建议可以让它发挥作用吗?

最佳答案

您可能已经安装了“headless”Java,即没有图形库。

Headless mode is a system configuration in which the display device, keyboard, or mouse is lacking. Sounds unexpected, but actually you can perform different operations in this mode, even with graphic data.

这就是为什么在使用它运行 groovyConsole 时出现 java.awt.HeadlessException 以及为什么您解决了安装非 headless 的 Oracle JDK 的问题(尽管您可以在 headless 模式下运行 java 程序java -Djava.awt.headless=true).

关于groovyConsole 启动时抛出 java.lang.reflect.InvocationTargetException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16027932/

相关文章:

sql - Groovy DSL for Liquibase中的自定义SQL?

groovy - 在groovy中,有没有办法检查对象是否具有给定的方法?

Jenkins - 如何使用 Jenkinsfile 加载的 groovy 文件中定义的属性

grails - 使用Realm + RABBIT MQ进行Groovy Httpbuilder身份验证

java - 如何在 Java 程序运行时启动 groovy 控制台

groovy - 使用 Groovy Console,是否可以在类路径中重新加载更改的文件?

java - 使用 querydsl-maven-plugin 和 groovy-eclipse-compiler 生成 QueryDsl 类

groovy - 为什么我在 GroovyConsole 中收到 MissingPropertyException?

java - 使用 Java 11 在 groovyconsole 中执行脚本会生成缺少 JAXB 依赖项异常

grails - 为什么 map.collectEntries() 不适用于此数据 [[Name :sub, Value:23234]] - Groovy