Я использую Groovy в Java приложение Swing как часть моего плана пичкать меня динамические языки, пока мне не нравятся они (который происходит, частично).
Мои отслеживания стека заполнены материалом Groovy как
org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor
есть ли способ заставить Eclipse удалять все это codehaus
материал (фильтруют отслеживания стека, в основном)?
Править: Я могу сделать это от командной строки с grep
(хорошо, еще), таким образом, это не настолько плохо, но в Eclipse, было бы большим также.
В Groovy есть служебная программа, которая делает именно то, что вам нужно: StackTraceUtils. STU очистит всю информацию о вызовах из вашей трассировки стека, оставив то, что вам действительно интересно.
Изменить: В Java вам придется заключить исключение в java.lang.RuntimeException
согласно комментариям.
Пример использования:
try {
1/0;
} catch (Throwable t) {
throw new RuntimeException(org.codehaus.groovy.runtime.StackTraceUtils.sanitize(t)); //Modifies the Throwable and rethrows
}
StackTraceUtils доступен в последней версии Groovy и изначально взят из Grails. Я не уверен, как бы вы применили это ко всем вашим трассировкам стека проектов, но я думаю, что и Griffon, и Grails делают это, поэтому в этих проектах должны быть некоторые подсказки.
У меня нет ответа на «Запуск от имени Groovy-приложения», но если вы запустите GroovyTestcases как тесты jUnit в Eclipse, появится «стек фильтров» traces "над окном просмотра трассировки стека.