我的结果低于结果,这是否意味着我有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:
答案 0 :(得分:0)
您似乎安装了两个版本的Java:
PATH上的Java是Java 1.7.0。我认为它是Oracle构建而不是Linux系统的软件包存储库。
使用alternatives
配置的Java看起来像是与Java 1.4.2兼容的GCJ Java。它可能是从您的软件包存储库安装的。 IMO,从技术角度来看,不宜使用它。事实上,我建议卸载它。
实际上,在将外部jar文件上传到Informatica powercenter Java转换后,我收到“不支持的major.minor版本51.0”错误。
这意味着Informatica正在使用Java 1.4.2安装。
现在,应用程序使用的Java版本将取决于应用程序的启动程序/启动脚本使用的Java版本。这可能取决于许多事情:
java
命令的绝对路径,那么将使用该路径。java
),则使用的版本将取决于启动器的$PATH
。这可能是正在发生的事情......并且使用的$PATH
与您的shell $PATH
不同。那么解决方案是什么?
您可以将Oracle Java安装添加到alternatives
系统。有关使用“java oracle alternative install”
man alternatives
或Google
您可以调整应用程序启动器使用的$ PATH。
根据您的Linux发行版,您可以从软件包存储库安装OpenJDK 1.7.0 JDK或JRE。这将(应该)将新安装的Java添加到alternatives
数据库,以便您可以选择它而不是旧的GCJ 1.4.2安装。