有没有办法确定Java版本而不看到shell输出?

时间:2009-07-16 08:35:26

标签: java

我有以下问题。

我正在Oracle数据库中执行一个OS命令行,该命令行执行带有一些参数的外部jar文件。我看不到shell输出,但我可以通过ssh / ftp和读取文件将不同的用户连接到同一台服务器。该服务器上有多个版本的Java,我想看看Oracle正在使用哪个版本。可能吗?

在你开始之前 - 不,

java -version > out.txt

不起作用。它将Java版本打印到控制台并创建一个空文件。

5 个答案:

答案 0 :(得分:7)

版本消息打印到STDERR,而不是STDOUT。

如果您使用的是linux / unix,请尝试

java -version >& version.txt

代替

答案 1 :(得分:7)

System.getProperty("java.version")

答案 2 :(得分:1)

robert@rm:~> java -version >  out.txt 2>&1 
robert@rm:~> cat out.txt 
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

答案 3 :(得分:1)

这很奇怪,它将版本打印到stderr。如果控制台是* nix,请执行以下操作:

java -version > out.txt 2>&1

答案 4 :(得分:1)

我认为服务器是Unix / Linux,如果是这样,请尝试:

  

java -version> out.txt 2>& 1