【问题标题】:Glassfish5 Error: Exception in thread "main" java.lang.NullPointerExceptionGlassfish5 错误:线程“主”java.lang.NullPointerException 中的异常
【发布时间】:2021-05-06 02:09:43
【问题描述】:

我在 ubuntu 中安装了 glassfish 5 并将其放在目录 /opt 下,但是当我输入 asadmin start-domain 时,我遇到了这个错误:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.glassfish.hk2.api.DynamicConfigurationService.createDynamicConfiguration()" because "dcs" is null
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.initializeServiceLocator(AbstractModulesRegistryImpl.java:152)     
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.newServiceLocator(AbstractModulesRegistryImpl.java:144)    
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:218)     
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:224)     
at com.sun.enterprise.module.single.StaticModulesRegistry.createServiceLocator(StaticModulesRegistry.java:88)   
at com.sun.enterprise.admin.cli.CLIContainer.getServiceLocator(CLIContainer.java:217)   
at com.sun.enterprise.admin.cli.CLIContainer.getLocalCommand(CLIContainer.java:255)     
at com.sun.enterprise.admin.cli.CLICommand.getCommand(CLICommand.java:231)  
at com.sun.enterprise.admin.cli.AdminMain.executeCommand(AdminMain.java:371)    
at com.sun.enterprise.admin.cli.AdminMain.doMain(AdminMain.java:306)    
at org.glassfish.admin.cli.AsadminMain.main(AsadminMain.java:57)

我该如何解决这个问题?

【问题讨论】:

  • 您使用的是哪个 JDK?如果我没记错的话,GF 5 最多只支持 JDK 8。
  • @ChristophJohn java -version -> java 版本 "15.0.2" 2021-01-19 Java(TM) SE 运行时环境 (build 15.0.2+7-27) Java HotSpot(TM) 64 -Bit Server VM (build 15.0.2+7-27, mixed mode, sharing \n javac -version : javac 15.0.2 这些信息能说明问题吗?
  • 是的。请参阅我的评论和乔纳森的评论。
  • @JonathanCoustick 我做了并且我编辑了 asevent.bat/conf 但我没有工作同样的问题发生

标签: java ubuntu glassfish


【解决方案1】:

Glassfish 版本 5 显示使用 openjdk15(至少在我的机器中)运行时的行为我已将其配置(见下文)以使用 JDK-8 运行并且它可以正确启动。

set JAVA_HOME="Your_path_to_jdk8"
set PATH="%JAVA_HOME%/bin;%PATH%"

在窗口中,或

export JAVA_HOME="Your_path_to_jdk8"
export PATH="${JAVA_HOME}/bin:${PATH}"

在 unix/linux 中。将此添加到用于启动它的脚本中,以便环境将 Glassfish 引导到正确的位置以查找 java 二进制文件。

【讨论】:

    【解决方案2】:

    你必须放

    设置 AS_JAVA=C:\Program Files\Java\jdk1.5.0_16

    在你 glassfish 服务器的这个目录上:

    C:\Users\Usuario\Documents\glassfish-5.0.1\glassfish5\glassfish\config\asenv

    【讨论】:

      【解决方案3】:

      glassfish 6 也有同样的问题。请确保您已安装 JDK。

      glassfish 文档还说您必须设置 JAVA_HOME 环境变量,然后将 PATH 变量指向 JAVA_HOME/bin。

      在 Linux 上,我编辑了我的 ~/.bash_profile:

      export JAVA_HOME=/usr/lib64/jvm/java-8-openjdk
      export PATH=$JAVA_HOME/bin:$PATH
      

      【讨论】:

        猜你喜欢
        • 2015-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-30
        • 1970-01-01
        • 2013-08-25
        • 1970-01-01
        相关资源
        最近更新 更多