我有以下问题。
我正在Oracle数据库中执行一个OS命令行,该命令行执行带有一些参数的外部jar文件。我看不到shell输出,但我可以通过ssh / ftp和读取文件将不同的用户连接到同一台服务器。该服务器上有多个版本的Java,我想看看Oracle正在使用哪个版本。可能吗?
在你开始之前 - 不,
java -version > out.txt
不起作用。它将Java版本打印到控制台并创建一个空文件。
答案 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