Glassfish5 Error: Exception in thread "main" java.lang.NullPointerException
Glassfish5 Error: Exception in thread "main" java.lang.NullPointerException
我已经在 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)
我该如何解决这个问题?
我在使用 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
你要放
set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16
在您的 glassfish 服务器的这个目录上:
C:\Users\Usuario\Documents\glassfish-5.0.1\glassfish5\glassfish\config\asenv
Glassfish 版本 5 显示当 运行 使用 openjdk15 时(至少在我的机器上)我已经将其配置(见下文)为 运行 使用 JDK-8 并且它正确启动。
set JAVA_HOME="Your_path_to_jdk8"
set PATH="%JAVA_HOME%/bin;%PATH%"
在windows,或
export JAVA_HOME="Your_path_to_jdk8"
export PATH="${JAVA_HOME}/bin:${PATH}"
在 unix/linux 中。将其添加到用于启动它的脚本中,这样环境会将 Glassfish 引导到正确的位置以找到 java 个二进制文件。
我已经在 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)
我该如何解决这个问题?
我在使用 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
你要放
set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16
在您的 glassfish 服务器的这个目录上:
C:\Users\Usuario\Documents\glassfish-5.0.1\glassfish5\glassfish\config\asenv
Glassfish 版本 5 显示当 运行 使用 openjdk15 时(至少在我的机器上)我已经将其配置(见下文)为 运行 使用 JDK-8 并且它正确启动。
set JAVA_HOME="Your_path_to_jdk8"
set PATH="%JAVA_HOME%/bin;%PATH%"
在windows,或
export JAVA_HOME="Your_path_to_jdk8"
export PATH="${JAVA_HOME}/bin:${PATH}"
在 unix/linux 中。将其添加到用于启动它的脚本中,这样环境会将 Glassfish 引导到正确的位置以找到 java 个二进制文件。