我已经在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 version 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二进制文件。
你必须把
set AS_JAVA=C:Program FilesJavajdk1.5.0_16
在你的glassfish服务器的这个目录:
C: Usuario 用户文档 glassfish-5.0.1 glassfish5 glassfish config asenv
我在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
从JDK 17降级到JDK 8正常。JDK 11也无法运行