2017-02-17 46 views
1

我有Java版本发送到一个文本文件,如下发送Java版本以文本文件

C:\>java -version > C:\cfn\log\JavaVersion.log 

但是,当我打开检查的文件,它完全是空的。我立即在下面的线获得版本,作为 -

C:\>java -version > C:\cfn\log\JavaVersion.log 
java version "1.8.0_121" 
Java(TM) SE Runtime Environment (build 1.8.0_121-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) 

我该如何解决这个问题?

+0

看那DUP和答案。他们也喜欢其他人。 java发送这个信息给stderr。这是一个普通的例子。 PowerShell将其视为故障。 – Matt

回答

0

试试这个会在当前路径上创建一个文件。

java -version > JavaVersion.log 2>&1 

或这一个,这将指定的路径

java -version > C:\cfn\log\JavaVersion.log 2>&1 

语法2>&1上创建文件将重定向2 (stderr)1 (stdout)。您还可以通过重定向到NUL

+0

改进了我的答案,再次检查。 –

+0

这就是我正在寻找的东西..你做了我的一天。谢谢:) –

+0

当我在'&java -version> C:\ JavaVersion.log 2>&1'的PowerShell中尝试同样的东西时,当我尝试打开文件的内容时,下面是我看到的 - ' java.exe:java version“1.8.0_121” At line:1 char:1 +&java -version> C:\ JavaVersion.log 2>&1 + ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~类别信息:未指定:(java版本“1.8.0_121”:字符串)[],远程异常012xxFullyQualifiedErrorId:NativeCommandError 的Java(TM)SE运行时环境(建立1.8.0_121-B13 ) 爪哇热点(TM)64位服务器VM(生成25.121-B13,混合模式)'。 –

0

在我的Mac隐藏的消息,

java -version 

打印到标准错误。

重定向错误输出到一个文件,这样做:

java -version 2> foo.txt 

对于如何做到这一点在Windows上,请参阅:

How to capture stderr on Windows/DOS?

+0

这是最完美的一个。非常感谢 :) –