簡體   English   中英

如何在Linux服務器中找到正在運行的應用程序的JRE版本

[英]how can I find JRE version of running application in Linux server

我得到的結果不足,是否表示我擁有JDK 1.7.0_45且JRE為1.42? 請指教。

$ javac -version
Eclipse Java Compiler v_677_R32x, 3.2.1 release, Copyright IBM Corp 2000, 2006. All rights reserved.
$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
$ alternatives --config java
There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           **/usr/lib/jvm/jre-1.4.2-gcj/bin/java**

Enter to keep the current selection[+], or type selection number:

看來您已經安裝了兩個版本的Java:

  • PATH上的Java是Java 1.7.0。 我認為這是Oracle構建,而不是Linux系統軟件包存儲庫中的構建。

  • 使用alternatives配置的Java看起來像是與Java 1.4.2兼容的GCJ Java。 它可能是從軟件包存儲庫安裝的。 IMO,從技術角度考慮,不建議使用此功能。 實際上,我建議您將其卸載。


實際上,在將外部jar文件上載到Informatica powercenter Java轉換后,出現“ Unsupported major.minor version 51.0”錯誤。

這意味着Informatica正在使用Java 1.4.2安裝。


現在,應用程序使用的Java版本將取決於應用程序的啟動器/啟動腳本使用的Java版本。 這可能取決於許多因素:

  • 如果啟動器為java命令使用絕對路徑,則將使用該路徑。
  • 如果啟動器使用簡單名稱(例如java ),則使用的版本將取決於啟動器的$PATH 這可能是正在發生的事情...並且所使用的$PATH與shell的$PATH

那么解決方案是什么?

  • 您可以將Oracle Java安裝添加到alternatives系統。 請參閱man alternatives或Google,以獲取有關使用“ java oracle替代品安裝”的說明。

  • 您可以調整應用程序啟動器使用的$ PATH。

  • 根據您的Linux發行版,您可以從軟件包存儲庫中安裝OpenJDK 1.7.0 JDK或JRE。 這將(應該)將新安裝的Java添加到alternatives數據庫,以便您可以選擇它而不是舊的GCJ 1.4.2安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM