2012-05-04 33 views
32

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

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 
+0

安装程序会选择合适的JDK。如果你想要一个简单的解决方案,使用安装程序重新安装可以做到这一点。 –

回答

10

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

It turns out that when I first installed Glassfish on my Windows system I had JDK 6 installed, and recently I had to downgrade to JDK 5 to compile some code for another project.

Apparently when Glassfish is installed it hard-codes its reference to your JDK location, so to fix this problem I ended up having to edit a file named asenv.bat. In short, I edited this file:

C:\glassfish\config\asenv.bat: 

and I commented out the reference to JDK 6 and added a new reference to JDK 5, like this:

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目标对象没有找到一个问题,由于我的替代路径的情况下,不正确。

5

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

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

有中没有AS_JAVA参考 “C:\ GlassFish的\ CONFIG \ asenv.bat” 默认情况下。手动添加后

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

它的工作原理。

1

在我的情况下,问题是JAVA_HOME变量被设置为安装的jre。

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

6

我正在使用Mac OSX 10.9。我最近必须将我的JDK更新到1.7版本,才能使用某些VPN软件。我正在运行的应用程序运行在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

+0

我在mac上做了同样的事情,不起作用 –

+0

@TowfikAlrazihi - 我现在还没有做过任何Java开发大约2年,我不再拥有我做这项工作的机器,所以我不能做太多帮助这里。问愚蠢的问题:1.你确实重新启动Glassfish? 2.哪个java通知你在'asenv.conf'文件中用于你的'AS_JAVA'配置的路径? – fusion27

+0

请参考下面的答案 –

3

按照GF管理指南的底部:

For a valid JVM installation, locations are checked in the following order: a. domain.xml (java-home inside java-config) b. asenv.conf (setting AS_JAVA="path to java home")

我不得不dd 这些设置,使其工作。否则,“asadmin stop-domain domain1”将不起作用。我猜这个GF使用了一个。并且asadmin使用b。

(在Windows上:; B asenv.bat)

1

错误消息:

..... PWC6199:生成的servlet错误: - 源1.5不支持钻石操作 (请使用-source 7或更高版本,以使钻石运营商)

解决方案

在MAC:去

  • /用户/用户名/ GlassFish_Server/GlassFish中/域/域2 /配置
  • 打开default_web.xml文件
  • 找到JSP
  • 添加

    enter image description here

2

添加新鲜玻璃鱼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开始没有什么问题。

相关问题