O redirecionamento STDOUT para um arquivo não funciona se o script Groovy for executado diretamente a partir da linha de comandos (.groovy no PATHEXT)

0

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" %*
    
por yuk 22.12.2011 / 22:04

0 respostas