You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:NetBeans中运行Web应用时GlassFish 4.1.1出现警告

GlassFish 4.1.1 启动警告分析与解决方案

我看了你贴出的GlassFish 4.1.1在NetBeans中启动Web应用时的日志,里面有几个关键警告,我来逐个帮你分析并给出可行的解决办法:

首先先把完整的启动日志贴出来方便参考:

在Felix平台上启动GlassFish
2018年5月23日 下午7:04:28 com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner createBundleProvisioner
信息:创建bundle供应器类 = class com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner.
2018年5月23日 下午7:04:28 com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
警告:跳过条目,因为它不是绝对URI。
2018年5月23日 下午7:04:28 com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
警告:跳过条目,因为它不是绝对URI。
2018年5月23日 下午7:04:28 com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner startBundles
警告:无法启动bundle file:/D:/Archivos%20de%20Programa/GlassFish_Server/glassfish/modules/core.jar,因为它不在已安装bundle列表中。
已在服务注册表中注册com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime@a2572cb。
#!## LogManagerService.postConstruct : rootFolder=D:\Archivos de Programa\GlassFish_Server\glassfish
#!## LogManagerService.postConstruct : templateDir=D:\Archivos de Programa\GlassFish_Server\glassfish\lib\templates
#!## LogManagerService.postConstruct : src=D:\Archivos de Programa\GlassFish_Server\glassfish\lib\templates\logging.properties
#!## LogManagerService.postConstruct : dest=D:\Archivos de Programa\GlassFish_Server\glassfish\domains\domain1\config\logging.properties
信息:运行GlassFish版本:GlassFish Server Open Source Edition 4.1.1 (build 1)
信息:服务器日志文件正在使用Formatter类:com.sun.enterprise.server.logging.ODLLogFormatter
信息:已成功创建类型为[com.sun.enterprise.security.auth.realm.file.FileRealm]的域[admin-realm]。
信息:已成功创建类型为[com.sun.enterprise.security.auth.realm.file.FileRealm]的域[file]。
信息:已成功创建类型为[com.sun.enterprise.security.auth.realm.certificate.CertificateRealm]的域[certificate]。
信息:授权服务已成功初始化。
信息:在BackingStoreFactoryRegistry中为persistence-type = replicated注册了org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy
信息:JTS5014:可恢复JTS实例,serverId = [100]
警告:无法初始化实例。Class=interface org.glassfish.grizzly.http.server.AddOn, name=http-listener-1, realClassName=org.glassfish.grizzly.http2.Http2AddOn
信息:Grizzly Framework 2.3.23已启动,耗时:20ms - 绑定到[/0.0.0.0:8080]
警告:无法初始化实例。Class=interface org.glassfish.grizzly.http.server.AddOn, name=http-listener-2, realClassName=org.glassfish.grizzly.http2.Http2AddOn
信息:Grizzly Framework 2.3.23已启动,耗时:33ms - 绑定到[/0.0.0.0:8181]
警告:无法初始化实例。Class=interface org.glassfish.grizzly.http.server.AddOn, name=admin-listener, realClassName=org.glassfish.grizzly.http2.Http2AddOn
信息:Grizzly Framework 2.3.23已启动,耗时:8ms - 绑定到[/0.0.0.0:4848]
信息:访问未访问的引用
信息:Grizzly Framework 2.3.23已启动,耗时:3ms - 绑定到[/0.0.0.0:3700]
信息:Java安全管理器已禁用。
信息:进入安全启动服务。
信息:正在加载策略提供者com.sun.enterprise.security.provider.PolicyWrapper。
信息:安全服务已成功启动。
信息:已在主机/端口0.0.0.0:8080上创建HTTP监听器http-listener-1
信息:已在主机/端口0.0.0.0:8181上创建HTTP监听器http-listener-2
信息:已在主机/端口0.0.0.0:4848上创建HTTP监听器admin-listener
信息:已创建虚拟服务器server
信息:已创建虚拟服务器__asadmin
信息:设置JAAS应用名称glassfish-web
信息:虚拟服务器server已加载默认Web模块
信息:访问未访问的引用
信息:访问未访问的引用
信息:正在加载应用[ProyectoTutorial],路径为[/ProyectoTuto]
信息:加载应用ProyectoTutorial完成,耗时1.962毫秒
信息:访问未访问的引用
信息:访问未访问的引用
信息:访问未访问的引用
信息:正在加载应用[DLC_TPIntegrador2018],路径为[/DLC_TPIntegrador2018]
信息:加载应用DLC_TPIntegrador2018完成,耗时174毫秒
信息:GlassFish Server Open Source Edition 4.1.1 (1)启动时间:Felix(4.756ms),启动服务(3.009ms),总耗时(7.765ms)
信息:Grizzly Framework 2.3.23已启动,耗时:1ms - 绑定到[/0.0.0.0:7676]
信息:JMXStartupService已在JMXService URL service:jmx:rmi://192.168.0.236:8686/jndi/rmi://192.168.0.236:8686/jmxrmi上启动JMXConnector
信息:已注册c

关键警告的具体分析与修复步骤

1. "跳过条目,因为它不是绝对URI"

  • 问题原因:GlassFish的OSGi BundleProvisioner组件在加载bundle时,遇到了非绝对路径的配置条目,导致无法识别并跳过加载。从日志里的安装路径D:\Archivos de Programa\GlassFish_Server来看,路径里的空格是主要诱因——OSGi容器处理带空格的路径时容易出现编码或解析错误。
  • 修复方案:
    • 把GlassFish整个安装目录迁移到无空格、无特殊字符的路径下,比如D:\GlassFish411,然后重新配置NetBeans里的服务器指向新路径。
    • 检查domain1/config/domain.xml文件,确认所有涉及bundle路径的配置都是绝对URI,没有相对路径或格式错误。

2. "无法启动bundle file:/D:/Archivos%20de%20Programa/GlassFish_Server/glassfish/modules/core.jar,因为它不在已安装bundle列表中"

  • 问题原因:同样是路径空格的锅——路径里的空格被转义成%20后,OSGi容器无法正确定位到core.jar这个核心bundle,导致启动失败。
  • 修复方案:
    • 优先执行上面的路径迁移操作,这是最直接有效的解决办法。
    • 如果迁移后问题依旧,建议重新下载GlassFish 4.1.1的官方安装包,校验文件完整性后重新安装,避免因安装包损坏导致的bundle缺失。

3. "无法初始化实例。Class=interface org.glassfish.grizzly.http.server.AddOn, name=http-listener-1, realClassName=org.glassfish.grizzly.http2.Http2AddOn"

  • 问题原因:这是GlassFish 4.1.1的一个已知兼容性问题——自带的Grizzly HTTP/2 AddOn组件和当前版本的Grizzly框架不匹配,导致HTTP监听器初始化时抛出警告。
  • 修复方案:
    • 登录GlassFish管理控制台(默认地址http://localhost:4848),依次进入配置 -> server-config -> HTTP服务 -> HTTP监听器,选中每个监听器(http-listener-1、http-listener-2、admin-listener)。
    • 切换到HTTP/2标签页,取消勾选"启用HTTP/2"选项,保存配置后重启GlassFish服务器。
    • 如果你偏好直接修改配置文件,可以打开domain1/config/domain.xml,找到对应监听器的<http2>节点,将其设置为enabled="false"或者直接删除该节点,然后重启服务器。

这些步骤应该能解决你日志里的所有警告问题,如果还有其他异常,可以再补充更详细的错误信息过来。

内容的提问来源于stack exchange,提问作者Manu Carba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:08:30