45

我已经安装了 GlassFish 2.1.1。我安装了 1.5 和 1.6 JDK。即使我的 JAVA_HOME 变量设置为 1.5 版本(并且“java -version”和“javac -version”都显示 1.5),每当我启动 glassfish 域时,它总是在日志顶部声明它使用 1.6 版。我怎样才能覆盖这个?

Starting Domain domain2, please wait.
04-May-2012 08:38:47 com.sun.enterprise.admin.servermgmt.launch.ASLauncher buildCommand
INFO:
C:/Dev/jdk/1.6/1.6.0_19\bin\java
4

9 回答 9

81

在这里您可以找到如何为 Glassfish 设置 JDK 的路径:http: //www.devdaily.com/blog/post/java/fixing-glassfish-jdk-path-problem-solved

查看

glassfish\config\asenv.bat

配置java路径的地方

REM set AS_JAVA=C:\Program Files\Java\jdk1.6.0_04\jre/..
set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16
于 2012-05-04T08:12:41.547 回答
12

从 dbf 的链接中添加实际内容,以便将解决方案保留在 stackoverflow 中。

事实证明,当我第一次在我的 Windows 系统上安装 Glassfish 时,我安装了 JDK 6,最近我不得不降级到 JDK 5 来为另一个项目编译一些代码。

显然,当安装 Glassfish 时,它会将其对 JDK 位置的引用硬编码,因此为了解决这个问题,我最终不得不编辑一个名为 asenv.bat 的文件。简而言之,我编辑了这个文件:

C:\glassfish\config\asenv.bat:

我注释掉了对 JDK 6 的引用并添加了对 JDK 5 的新引用,如下所示:

REM set AS_JAVA=C:\Program Files\Java\jdk1.6.0_04\jre/..
set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16

尽管路径似乎不区分大小写,但由于我的替换路径的大小写不正确,我已经花费了数小时调试围绕未找到 JMS 目标对象的问题。

于 2012-05-09T12:22:13.717 回答
10

我正在使用 Mac,OSX 10.9。我最近不得不将一些 VPN 软件的 JDK 更新到 1.7。我正在使用的应用程序在 JDK 1.6 上运行,因此 GlassFish 必须在 JDK 1.6 上运行。花了一分钟才解决这个问题,但这就是我的情况。顺便说一下,我使用的是 NetBeans IDE。

  1. 我的 GlssFish 配置文件

    /Applications/NetBeans/glassfish-3.1.2.2/glassfish/config/asenv.conf

  2. JDK 1.6 的路径

    /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home

  3. 我将以下行添加到asenv.conf文件的底部

    AS_JAVA=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home

于 2014-03-14T16:44:40.400 回答
6

根据 GF 管理指南:

对于有效的 JVM 安装,按以下顺序检查位置:domain.xml(java-config 中的 java-home)asenv.conf(设置 AS_JAVA="java home 的路径")

我必须添加两个设置才能使其正常工作。否则,'asadmin stop-domain domain1' 将不起作用。我猜GF用的是a。asadmin 使用 b。

(在 Windows 上:b. asenv.bat)

于 2016-04-19T08:33:34.660 回答
5

Glassfish 4.0 和安装了几个 JDK 的类似错误:

SEVERE: GlassFish requires JDK 7, you are using JDK version 6.

默认情况下,“C:\glassfish\config\asenv.bat”中没有 AS_JAVA 引用。手动添加后

set AS_JAVA=C:\Program Files\Java\jdk1.7.0_25 

有用。

于 2013-08-01T08:55:32.850 回答
5

添加新鲜 glassfish 4.1 后,在我的 IntelliJ 17 中遇到了同样的问题。

我已将JAVA_HOME环境变量设置如下:

echo %JAVA_HOME%
C:\Java\jdk1.8.0_121\

然后打开%GLASSFISH_HOME%\glassfish\config\asenv.bat

并且刚刚添加了文件的末尾:

set AS_JAVA=%JAVA_HOME%

然后 Glassfish 开始没有问题。

于 2017-11-09T22:44:42.770 回答
1

就我而言,问题是 JAVA_HOME 变量设置为已安装的 jre。

设置 AS_JAVA 变量的替代方法是将 JAVA_HOME 环境变量设置为 jdk(即 /usr/local/jdk1.7.0.51)。

于 2014-02-13T17:58:18.427 回答
1

错误信息 :

..... PWC6199: Generated servlet error: -Source 1.5 不支持 diamond 运算符(请使用 -source 7 或更高版本启用 diamond 运算符)

解决方案

在 MAC 上:转到

  • /用户/用户名/GlassFish_Server/glassfish/domains/domain2/config
  • 打开 default_web.xml 文件
  • 找到jsp
  • 添加

    在此处输入图像描述

于 2017-07-11T08:06:20.870 回答
0

在 Linux 文件系统中,按此步骤编辑以下文件

路径 - /opt/glassfish3/glassfish/config

文件名 - asenv.conf

将下面的 JAVA HOME 路径添加到文件末尾。

AS_JAVA=/opt/jdk1.8.0_201

现在启动 glassfish 服务器。

于 2020-07-23T07:18:54.403 回答