如何为GlassFish域指定JDK?

时间:2012-05-04 08:01:12

标签: java glassfish

我安装了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

9 个答案:

答案 0 :(得分:68)

在这里,您可以找到如何为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

答案 1 :(得分:11)

从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目标对象的问题。

答案 2 :(得分:7)

我正在使用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

答案 3 :(得分: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 

它有效。

答案 4 :(得分:4)

根据GF管理指南:

  

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

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

(在Windows上:b.sensenv.bat)

答案 5 :(得分:3)

添加新鲜的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开始没有问题。

答案 6 :(得分:1)

在我的情况下,问题是JAVA_HOME变量设置了一个已安装的jre。

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

答案 7 :(得分:1)

错误消息:

.....     PWC6199:生成的servlet错误:     -Source 1.5不支持钻石操作员       (请使用-source版本7或更高版本启用钻石操作员)

解决方案

在MAC上:转到

  • /用户/用户名/ GlassFish_Server /的glassfish /域/域2 /配置
  • 打开default_web.xml文件
  • 找到jsp
  • 添加

    enter image description here

答案 8 :(得分:0)

在Linux文件系统中,按照以下步骤编辑下面的文件

路径- / opt / glassfish3 / glassfish / config

文件名- asenv.conf

将如下所示的JAVA HOME路径添加到文件末尾。

AS_JAVA = / opt / jdk1.8.0_201

现在启动glassfish服务器。