с помощью консоли Groovy можно перезагрузить измененные файлы в пути к классам?

Я часто хочу протестировать методы, которые я разрабатываю в классе Groovy, независимо друг от друга, и использовать для этого консоль, например:

groovyConsole -cp mygroovyfiles

Однако я еще не смог понять, как перезагрузить изменения в мои файлы groovy, чтобы я мог обновить файлы и увидеть результаты, отраженные в консоли. «/Script/Add Directory to ClassPath» и «Script/Clear Script Context» не работают. Это возможно?


person Josh Diehl    schedule 21.11.2011    source источник
comment
У меня странные проблемы с меню добавления JAR-файлов в путь к классам " title="что такое classpath для заводской консоли jdbc с драйвером prblem"> stackoverflow.com/questions/32494835/   -  person Jacek Cz    schedule 11.09.2015


Ответы (2)


Я не верю, что это возможно в groovyConsole. Гроовыш, однако, совсем другая история. В groovysh есть команда \l, которая позволяет перезагрузить скрипт. Я не знаю, поможет ли это вам, но это работает для меня. Сессия будет выглядеть так...

bobk-mbp:~ bobk$ cd work/workspace/ZGroovyProject/
bobk-mbp:ZGroovyProject bobk$ emacs src/Hello.groovy 
bobk-mbp:ZGroovyProject bobk$ groovysh
Groovy Shell (1.8.3, JVM: 1.6.0_29)
Type 'help' or '\h' for help.
-----------------------------------------------------------------------------------------------------------------------------------
groovy:000> \l src/Hello.groovy 
hello, world.
===> null
groovy:000> \l src/Hello.groovy 
hello, world from bob
===> null
groovy:000> 
person Bob Kuhar    schedule 08.12.2011
comment
Еще не слышал, чтобы кто-то еще сказал, что это возможно, поэтому я думаю, что нет. groovysh должен соответствовать моим потребностям, я проверю. - person Josh Diehl; 08.12.2011
comment
Работает только для сценариев, а не скомпилированных классов, загружаемых из пути к классам (насколько я могу судить). :purge тоже не помогло. - person Bill K; 01.11.2018

Вы можете попробовать очистить буфер перед перезагрузкой скрипта.

>clear
>load src/Hello.groovy
person XianGuang    schedule 13.12.2012