旧的" java.version" GlassFish中的值比在控制台上的值

时间:2015-02-15 07:57:29

标签: java linux glassfish glassfish-4

操作系统:Ubuntu 12.04,GlassFish版本:4.0.1(版本10)

在GlassFish servlet中,我使用以下代码在processRequest中打印Java版本:

    out.println("<p>" + System.getProperty("java.version") + "</p>");
    out.println("<p>" + System.getProperty("java.home") + "</p>");
    out.println("<p>" + System.getProperty("java.vendor") + "</p>");

当我在Web浏览器中输入servlet地址时,输出为

1.7.0_65
/usr/lib/jvm/java-7-openjdk-amd64/jre
Oracle Corporation

但是,如果我在控制台上输入 java -version ,则输出为

java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

我检查了已安装的Java版本,系统只安装了一个Java版本

~# update-alternatives --config java
There is only one alternative in link group java: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Nothing to configure.

正如所料,/ usr / lib / jvm / java-7-openjdk-amd64 / jre / bin / java -version也显示java版本“1.7.0_75”

因此,安装的Java版本为1.7.0_75,而GlassFish显示为1.7.0_65。为什么呢?

1 个答案:

答案 0 :(得分:0)

您是否尝试过重启GlassFish?可能是升级JRE后服务器没有重新启动(因此旧版本仍然可以在内存中运行)。