GlassFish 5.0 异常和端口 4848 没有响应

GlassFish 5.0 exception and port 4848 not responding

昨天我下载了 GlassFish 5.0 和 JDK9。当我尝试 运行 服务器与 asadmin start-domain GlassFish 发送给我 exception

当我尝试使用 "asadmin start-domainAfter" 时,我得到了回复:"Remote server does not listen request on [localhost 4848]. Is the serwer up?"

任何人都可以帮助我吗?我在 google 寻找解决方案,我尝试使用端口 4848 终止进程,在另一个 domain.xml 中更改端口 4848,但没有任何帮助。

这是我第一次接触玻璃鱼,我不知道该怎么做。谁能帮帮我?

我在 windows 7、InteliJ Ultimate 2017.2.4、JRE 1.8 和 JDK 9 工作。

As mentioned above GlassFish 5.0 leverages new features in Java SE 8, and is certified today on Java SE 8. Even though we have a lot of work in front of us with the transition to the Eclipse Foundation, our current intent is to certify Java SE 9 in an upcoming GlassFish 5 release.

JDK 9应该会在下一次更新中支持,即GlassFish 5.0.1 见 https://blogs.oracle.com/theaquarium/java-ee-8-is-final-and-glassfish-50-is-released

结尾

GlassFish 5.0 未在 JDK 9 上启动是一个已知问题。

GlassFish 5.0 仅在 JDK 8 (u144) 上获得认证,如发行说明中所述: https://javaee.github.io/glassfish/doc/5.0/release-notes.pdf

任何遇到 NullPointerException 问题的人,请注意您的系统 PATH 变量。 确保它们指向可接受的 JDK(如前所述:GlassFish 5.0 经认证仅可在 JDK 8u144).此 NullPointerException 是由使用不兼容 JDK 引起的,如此处所述:https://docs.oracle.com/cd/E19226-01/820-7688/gipqi/index.html

在我的例子中,PATH 变量正确指向 java8u144 bin,但我的 PATH 还包含一个指向 C:\ProgramData\Oracle\Java\javapath 的指针。不知何故,java SDK 的旧版本存储在 \ProgramData\Oracle 上,因此 GlassFish 使用 java 的旧版本作为 SDK。

我使用 Windows 10 并且我已经为版本 9 和 8u141、8u151、8u144 安装了 JDK 和 JRE(安装是为了测试这个问题) 对于异常,我遇到了同样的问题:命令 "asadmin start-version" 抛出异常。

只需从 CMD 控制台检查版本即可:

C:\Users\xxxxx>**java -version**
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

问题 JAVA_HOME 和 PATH 环境变量是 JDK8u151 ???

解决问题,文档提示:

或者,您可以使用 AS_JAVA 属性 在 as-install/config/asenv.conf 文件.

C:\DEVENV\glassfish5\glassfish\config>dir
 Le volume dans le lecteur C s’appelle OS
 Le numéro de série du volume est 10BF-2BBE

 Répertoire de C:\DEVENV\glassfish5\glassfish\config

08/09/2017  07:27    <DIR>          .
08/09/2017  07:27    <DIR>          ..
12/01/2018  17:44             3 516 asenv.bat
...

因此,我在下面添加最后一行:

set AS_IMQ_LIB=..\..\mq\lib
set AS_IMQ_BIN=..\..\mq\bin
set AS_CONFIG=..\config
set AS_INSTALL=..
set AS_DEF_DOMAINS_PATH=..\domains
set AS_DEF_NODES_PATH=..\nodes
set AS_DERBY_INSTALL=..\..\javadb
**set AS_JAVA=C:\Program Files\Java\jdk1.8.0_151**

重新启动 CMD 控制台并使用 asadmin start-domain 启动服务器:它工作正常....享受。

如果您在 mac 或 linux machine 上,请将以下内容添加到您的 glassfish 安装目录中的 config/asenv.conf

set AS_JAVA="path to your jdk 8"

例如在MacOS中会是

AS_JAVA="/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home"