JSR223 и его загадочные исключения - PullRequest
1 голос
/ 09 марта 2011

Есть ли способ получить лучшие сообщения об ошибках от JSR 223? Я пытаюсь использовать его для запуска скриптов Groovy, и всякий раз, когда возникает проблема с выполнением, я получаю исключения, которые действительно загадочны. Вот пример:

  org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.   invoke(PojoMetaMethodSite.java:270)
      at    org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
    at   org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
     at Script1.search(Script1.groovy:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
    at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:227)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:77)
    at Script1.processEvent(Script1.groovy:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88) 

1 Ответ

3 голосов
/ 09 марта 2011

Боюсь, есть только две вещи, о которых я могу думать.

  1. Используйте Intellij IDEA, он объединяет трассировки стека, так что вы только изначально видите биты, которые относятся к вашему коду.Я думаю, что в редакции сообщества теперь есть отличная поддержка, так что вы можете получить бесплатную версию.
  2. Получите хорошие результаты при сканировании этих следов стека для вашего кода.В вашем примере строка Script1.groovy 28 пытается поместить квадратный колышек в круглое отверстие.

Возможно, вы сможете настроить вашу IDE / программу чтения журнала для выделения линий * .groovy или что-то вродечто

Извините, не может быть намного более полезным.

PS.не волнуйтесь, это не вы, эти стековые трассировки созданы для того, чтобы запутаться в вашем уме

...