GlassFish 4、Grizzly Framework 2.3.23:无法初始化实例。类=接口 org.glassfish.grizzly.http.server.AddOn

Viv*_*wan 5 spring-mvc grizzly pom.xml maven-3 glassfish-4.1

启动 GlassFish 4.1.1 服务器(Grizzly Framework 2.3.23)时,显示以下警告消息:实例无法初始化。类=接口 org.glassfish.grizzly.http.server.AddOn

Grizzly Framework 2.3.23需要单独安装在计算机上吗?(根据详细信息:“Class=interface org.glassfish.grizzly.http.server.AddOn”,看起来 grizzly http 服务器是 glassfish 的一部分)如果不需要单独安装 grizzly http 服务器,那么它正在尝试安装哪个实例被初始化并失败。

Spring Tool Suite IDE 中是否要添加 GlassFish Plugin for Eclipse?

GlassFish 4 服务器使用命令提示符停止和启动测试:

glassfish4\bin>asadmin stop-domain
Run Code Online (Sandbox Code Playgroud)

命令 stop-domain 已成功执行。

glassfish4\bin>asadmin start-domain
Run Code Online (Sandbox Code Playgroud)

等待domain1启动;
成功启动域:domain1;
域位置:glassfish4\glassfish\domains\domain1;
日志文件:glassfish4\glassfish\domains\domain1\logs\server.log;
管理端口:4848;
命令 start-domain 已成功执行。

如上所述,警告仍然存在。

如果 Grizzly 框架内置在 GlassFish 4 中,那么项目 pom.xml 中是否需要明确包含 Grizzly 依赖项,如下所示?(代码来自:Grizzly

<dependencies>
<dependency>
    <groupId>org.glassfish.grizzly</groupId>
    <artifactId>grizzly-http-server</artifactId>
    <version>2.3.22</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

luc*_*lli 4

我也遇到了同样的问题,Glassfish 嵌入了 4.1.2。请注意,您只写了错误消息的一部分,完整的错误消息是:

Instance could not be initialized. Class=interface org.glassfish.grizzly.http.server.AddOn, name=http-listener-1, realClassName=org.glassfish.grizzly.http2.Http2AddOn
Run Code Online (Sandbox Code Playgroud)

因此,Glassfish 正在尝试实例化包 http2 中的一个类,但是该包不包含在嵌入式 Glassfish 中!glassfish-embedded-all-4.1.2.jar 中没有这样的文件夹。

不知道5.0有没有修复这个问题

我对 4.1.2 的解决方案是添加包含此包的依赖项(嗯,这正是您提出的解决方案):

<dependency>
    <groupId>org.glassfish.grizzly</groupId>
    <artifactId>grizzly-http2</artifactId>
    <version>2.3.28</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.glassfish.grizzly</groupId>
    <artifactId>grizzly-npn-bootstrap</artifactId>
    <version>1.7</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)