def err = System.err
...
err << "Want this to go to stderr"
что я теперь делаю в своих сценариях оболочки groovy
Ответ 3
Groovy имеет доступ к JRE:
System.err.println "goes to stderr"
Хотя может быть более Groovy -fied way...
Ответ 4
Если вам просто нужно что-то более короткое, введите два варианта. Во-первых, вы можете импортировать java.lang.System как угодно, что-то более короткое, как "sys":
import java.lang.System as sys
sys.err.println("ERROR Will Robinson")
Во-вторых, вы можете назначить поток System.err переменной и использовать эту переменную отсюда в качестве псевдонима для System.err, например:
err = System.err
err.println("ERROR again Will Robinson")
Это имеет то преимущество, что все функции System.err доступны, поэтому вам не нужно подключать их по отдельности (например, err.print, err.println и т.д.).
Надеюсь, существует стандартный способ Groovy, потому что идиосинкратическое переименование может сбивать с толку людей, которые читают ваш код.