已成功安装GlassFish。然而,当我启动服务器时,我得到这两条警告消息:
警告:跳过条目,因为它不是绝对URI。
这是怎么回事?
Launching GlassFish on Felix platform
Aug 09, 2014 10:38:38 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner createBundleProvisioner
INFO: Create bundle provisioner class = class com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner.
Aug 09, 2014 10:38:38 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
WARNING: Skipping entry because it is not an absolute URI.
Aug 09, 2014 10:38:38 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
WARNING: Skipping entry because it is not an absolute URI.
Registered com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime@162cf6a in service registry.
Registry Info:: Total repositories: 1, Total modules = 293
...
这是正确的,警告可以被忽略,但你也可以摆脱它。
要摆脱警告,编辑文件<glassfish_home>/glassfish/config/osgi.properties
并更改核心。bundle 属性from:
core.bundles=
${com.sun.aas.installRootURI}modules/endorsed/
${obr.bundles}
${hk2.bundles}
${com.sun.aas.installRootURI}modules/glassfish.jar
:
core.bundles=
${com.sun.aas.installRootURI}modules/endorsed/
${hk2.bundles}
${com.sun.aas.installRootURI}modules/glassfish.jar
出现警告是因为BundleProvisioner读取了osgi中的一个属性。属性。start并依次引用其他属性,如core.bundles.
上面删除的属性,obr。bundles,目前被注释掉了。注释被扩展到一个空格,BundleProvisioner将读取该空格并发出警告。
您可以放心忽略此警告。
它来自com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner
。GlassFish的这一部分安装/注册了modules
文件夹中的GlassFish模块。它循环遍历一个uri列表,即模块的文件路径。
如果一个URI不是绝对的,即它是相对的,或者它没有方案组件,那么这个类记录这个警告。在这种情况下,uri不是绝对的,因为GlassFish可能使用来自GlassFish根目录的相对路径。