代码之家  ›  专栏  ›  技术社区  ›  jva

有没有一种方法可以在不看到shell输出的情况下确定Java版本?

  •  3
  • jva  · 技术社区  · 16 年前

    我有以下问题。

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

    在你开始之前-不,

    java -version > out.txt
    

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

    5 回复  |  直到 16 年前
        1
  •  7
  •   skaffman    16 年前

    版本消息被打印到stderr,而不是stdout。

    如果您使用的是Linux/Unix,请尝试

    java -version >& version.txt
    

    相反

        2
  •  7
  •   beggs    16 年前
    System.getProperty("java.version")
    
        3
  •  1
  •   Robert Munteanu    16 年前
    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)
    
        4
  •  1
  •   jtbandes    16 年前

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

    java -version > out.txt 2>&1
    
        5
  •  1
  •   Vinay Sajip    16 年前

    我假设服务器是unix/linux,如果尝试:

    Java版本& gt;Out.txt 2 & gt;and 1;