当我启动GlassFish服务器时Nullpointer
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我启动GlassFish服务器时Nullpointer相关的知识,希望对你有一定的参考价值。
我使用Glassfish应用程序服务器,根据README文件,它只是说打开CMD,键入一些命令,但我得到了Nullpointer。我需要有人来帮助我。我在Windows上。
asadmin start-domain
错误是:
Exception in thread "main" java.lang.NullPointerException
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)
正如您在评论中提到的,问题是Java 9。
Glassfish目前仅适用于Java 7或Java 8。
Github上的相关Glassfish问题:
- asadmin start-domain fails with NullPointerException when JAVA_HOME set to JDK 9 or JDK 10 build
- Umbrella Issue for Glassfish testing with JDK 9
- [GF-JDK9] Exception when starting GF with JDK9
最后一期包含一个解决方法:
In order to work around this issue please edit the glassfish/bin/asadmin file and change the line # to following
Old
exec "$JAVA" -jar "$AS_INSTALL_LIB/client/appserver-cli.jar" "$@"
Changed
exec "$JAVA" --add-modules java.annotations.common -jar "$AS_INSTALL_LIB/client/appserver-cli.jar" "$@"
也可以看看:
Glassfish现在不支持Java 9。
下载Java 8 JRE,然后编辑文件glassfish/bin/asadmin
并更改该行
exec "$JAVA" -jar "$AS_INSTALL_LIB/client/appserver-cli.jar" "$@"
例如,用Java 8 JRE中的exec "$JAVA"
路径替换java
/usr/lib/jvm/java-8-oracle/jre/bin/java -jar "$AS_INSTALL_LIB/client/appserver-cli.jar" "$@"
您之所以如此,是因为目前不支持大于java 8的版本。见here。所有需要做的就是安装jdk 8并导出JAVA_HOME以指向jdk。
尝试更改您的Java版本....我有同样的问题,但我改变版本,它现在工作。
但是,我尝试更改Glassfish服务器,我使用的版本,它已损坏,并使用相同的版本,但从其他地方下载和提取它的工作原理。
以上是关于当我启动GlassFish服务器时Nullpointer的主要内容,如果未能解决你的问题,请参考以下文章
需要在 Glassfish 上启动域,出现错误:“目录”中没有域
java.lang.NoClassDefFoundError: org/glassfish/jersey/internal/inject/Binder 启动 Tomcat 服务器时
glassfish - springboot - 部署应用程序时出错