Glassfish 服务器未启动。空指针异常

问题描述 投票:0回答:9

我刚刚下载了 GlassFish 5.0 存档 - Full Platform,将其解压缩,通过命令行运行它。

asadmin 起始域

问题:

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)

我尝试在文件中设置路径 asenv.bat -> set path = C:/.../Java/bin - 没有帮助。尝试启动:asadmin start-domain domain1 - 没有帮助。

安装:jdk-9.0.18号也尝试过,没有帮助。该怎么办???

java intellij-idea nullpointerexception glassfish payara
9个回答
31
投票

好的,Glassfish 5.1 目前还不存在。使用此解决方案继续使用 Glassfish 5.0:

只需在位于此处的

AS_JAVA
文件中设置
asenv.bat
变量:
C:\DEVENV\glassfish5\glassfish\config

要编辑的文件:添加最后一行 screenshot of code

重新启动您的服务器....享受: screenshot of relaunch command to start your server


12
投票

这看起来是这个问题 - https://github.com/eclipse-ee4j/glassfish/issues/22130

GlassFish 5 无法在 JDK9 上运行,但 GlassFish 6 可以在 JDK 11 上运行。


9
投票

对我来说,@Vifier Lockla 所做的不起作用。我必须在 linux mint 机器中更改 path/glassfish5/glassfish/config/asenv.conf 文件。文件底部是jdk 1.8的路径,即

AS_JAVA="/usr/lib/jvm/jdk1.8.0_191"

3
投票

GlassFish 5.1 也不适用于 Java 9 或更高版本。

glassfish 5.1 还需要 java 8,并在 asenv.conf/bat 文件中使用 AS_JAVA hack。


2
投票

编辑 asenv.bat put set AS_JAVA=/usr/lib/jvm/java-8-oracle 和 asenv.conf AS_JAVA="/usr/lib/jvm/java-8-oracle"

有效


1
投票

当您从互联网下载 glassfish zip 文件并解压时。 阅读自述文件是一个好习惯。 就我而言,自述文件中的“先决条件”标题下指定:GlassFish 5.0 需要 Oracle JDK 8 Update 144。 我按照要求下载并安装了 JDK 8 update 144。它立即起作用了。我最初使用的是 JDK 14.0.2,它显示 @Aleksandr 发布的错误。


0
投票

我犯了与OP相同的错误,因为发行说明在标题所需的JDK版本下特别提到“GlassFish Server开源版本5.0需要Oracle JDK 8更新144或更高版本”。

但是,您可以下拉每个版本,查看 glassfish 5 兼容的最新 jdk 版本,或者只需从 https://www.oracle.com/in/java/ 下载 Java SE Development Kit 8技术/javase/javase8-archive-downloads.html.

您还必须在 asenv.bat 中添加 java 变量,正如 Vifier Lockla 所评论的那样。感谢 Vifier 的建议。


0
投票

对我来说,我更改为 glassfish 所在的目录

cd /选择

然后

sudo glassfish5/bin/asadmin 起始域

我确信这有效


0
投票

除了@Mohd Zamri Bin Mat Jusoh 的回答, 我更新了 javapath 的符号链接,如下所示 https://sjgpsoft.blogspot.com/2018/06/updating-oracle-javapath-symlinks-on.html

当 glassfish6 位于用户路径中且 glassfish5 位于系统路径中时,会出现此错误。

© www.soinside.com 2019 - 2024. All rights reserved.