我已更新标题,请查看更新原因如下。
我曾在 Stackoverflow 上问过这个问题,但仍然没有收到答复。
我决定在这里询问,因为我认为这可能不是编程问题,而是 Groovy 安装、版本冲突等问题。
以下是一些细节。
我编写了一个非常简单的脚本,使用 System.out.println 将字符串输出到 stdout。除非我想将输出重定向到文件,否则它可以正常工作。有趣的是,文件已创建但为空。
我还尝试使用 Java(相同的 JDK)编写了一个简单的“Hello, World”脚本,并且运行良好。
有人在评论中证实我的 Groovy 脚本在 Windows 和 OS X 上确实可以正确重定向。
Groovy 安装是最新版本。我遵循了所有安装说明。我尝试运行一些现有脚本,除了这个重定向之外,一切正常。
我现在不知道该去哪里找。请帮忙。
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
更新
好的,我刚刚又试了一次我想到的办法。我有.groovy
与 groovy 可执行文件关联的扩展,因此我无需键入 即可运行脚本groovy
。所以我照做了test.groovy > test.txt
,但没有成功。
现在我已尝试过groovy test.groovy > test.txt
并且有效!
groovy
所以问题现在简单多了。如果我不在命令行中使用,为什么重定向不起作用?
请推荐我应该如何处理这个问题?删除 SO 版本?
更新2: 以下是相关的注册表记录(HKCR\Groovy\shell\open\command):
"C:\Program Files (x86)\Groovy\Groovy-1.8.4\bin\groovy.exe" "%1" %*