Java 如何为GlassFish域指定JDK?

Java 如何为GlassFish域指定JDK?,java,glassfish,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.laun

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

在这里,您可以找到如何为Glassfish设置JDK的路径:

检查

其中配置了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

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

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

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

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


虽然路径看起来不区分大小写,但由于替换路径的大小写不正确,我花了数小时调试了一个未找到JMS目标对象的问题。

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 

它可以工作。

在我的例子中,问题是JAVA_HOME变量被设置为已安装的jre


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

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

  • 我的GlssFish配置文件

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

  • JDK1.6的路径

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

  • 我在
    asenv.conf
    文件的底部添加了以下行

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


  • 根据GF管理指南:

    对于有效的JVM安装,将按以下顺序检查位置: A.domain.xml(java配置中的java home) Basenv.conf(设置为_JAVA=“指向JAVA主页的路径”)

    我必须添加这两个设置才能使它工作。否则“asadmin stop domain domain1”将无法工作。我猜女朋友用的是a。asadmin使用b

    (在Windows上:b.asenv.bat)

    错误消息:

    。。。。。 PWC6199:生成的servlet错误: -来源1.5不支持菱形运算符 (请使用-source版本7或更高版本来启用菱形操作符)

    解决方案

    在MAC上:转到

    • /Users/username/GlassFish_Server/GlassFish/domains/domain2/config
    • 打开默认的_web.xml文件
    • 查找jsp

    在添加新鲜玻璃鱼4.1后,我的IntelliJ 17出现了同样的问题

    我已将我的
    JAVA\u HOME
    环境变量设置如下:

    echo %JAVA_HOME%
    C:\Java\jdk1.8.0_121\
    
    然后打开
    %GLASSFISH\u HOME%\GLASSFISH\config\asenv.bat

    刚刚添加的和文件的结尾:

    设置为\u JAVA=%JAVA\u HOME%


    然后Glassfish就顺利启动了。

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

    路径-/opt/glassfish3/glassfish/config

    文件名-asenv.conf

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

    AS_JAVA=/opt/jdk1.8.0_201


    现在启动glassfish服务器。

    安装程序选择合适的JDK。如果你想要一个简单的解决方案,用安装程序重新安装就可以了。根据我的经验,对于GF 4.1.1来说还不够,请看下面我的答案。太棒了!在glassfish 4.1.2中非常有效!在glassfish 5.0.0中,没有JAVA设置的变量。但是我把它添加到asenv.bat文件的末尾。这解决了我的问题problem@TowfikAlrazihi-我已经有2年没有做任何Java开发了,我不再拥有我做这项工作的机器,所以我在这里帮不了什么忙。问愚蠢的问题:1。你重新启动了玻璃鱼?2.
    哪个java
    通知了您在
    asenv.conf
    文件中的
    AS\java
    配置所使用的路径?请参阅下面的回答:在domain.xml中设置java主页不是标准的,而且AFAIK不在普通安装中。
    SEVERE: GlassFish requires JDK 7, you are using JDK version 6.
    
    set AS_JAVA=C:\Program Files\Java\jdk1.7.0_25 
    
    echo %JAVA_HOME%
    C:\Java\jdk1.8.0_121\