Atualizei o título, por favor, veja atualizar abaixo, pelo motivo.
Eu fiz esta pergunta no Stackoverflow, mas ainda não recebi uma resposta.
Groovy: redirecionar stdout para um arquivo não funciona .
Eu decidi perguntar aqui, pois acho que pode não ser um problema de programação, mas sim algum problema com a instalação do Groovy, conflito de versões, etc.
Aqui estão alguns detalhes.
Eu escrevi um script muito simples para gerar uma string para stdout com System.out.println. Funciona a menos que eu queira redirecionar a saída para um arquivo. Curiosamente, o arquivo é criado, mas está vazio.
Eu também tentei um simples script "Hello, World" com Java (o mesmo JDK) e ele funciona bem.
Alguém confirmou nos comentários que meu script do Groovy é redirecionado corretamente no Windows e no OS X.
A instalação do Groovy foi atualizada com a versão mais recente. Eu segui todas as instruções de instalação. Tentei executar alguns scripts existentes e tudo funciona, exceto esse redirecionamento.
Eu não tenho ideia de onde procurar agora. Por favor ajude.
Groovy Version: 1.8.4 JVM: 1.7.0_02'
OS: Windows 7 64-bit Pro
GROOVY_HOME: C:\Program Files (x86)\Groovy\Groovy-1.8.4\
JAVA_HOME: C:\Program Files (x86)\Java\jdk1.7.0_02
UPDATE
OK, acabei de tentar mais uma coisa que me vem à mente. Eu tenho a extensão .groovy
associada ao executável groovy, portanto, posso executar um script sem digitar groovy
. Então eu fiz test.groovy > test.txt
e não estava funcionando.
Agora eu tentei groovy test.groovy > test.txt
e funciona!
Então a questão agora é mais simples. Por que o redirecionamento não funciona se eu não usar groovy
na linha de comando?
Por favor, recomende o que devo fazer com esta pergunta? Excluir a versão do SO?
UPDATE 2: Aqui está o registro relacionado (HKCR \ Groovy \ shell \ open \ command):
"C:\Program Files (x86)\Groovy\Groovy-1.8.4\bin\groovy.exe" "%1" %*
Tags java windows-7 stdout groovy redirection