2013-02-08 50 views
1

我試圖使用最新的Jackrabbit穩定版本(2.4.3)並將其作爲OSGi捆綁包部署在Glassfish v3.1.2上。MalformedURLException與Glassfish 3.1.2上的Jackrabbit OSGi Bundle

首先,我嘗試了jackrabbit-standalone包,但是我的奇怪依賴(com.ibm.jvm !?)遇到了一些麻煩。然後我注意到jackrabbit-bundle項目,並部署了它所需的依賴項(Commons Logging,SLF4J,JCR API,DB2 Driver)。

雖然束似乎開始安裝後就好了,當我重新啓動GlassFish服務器,下面的異常被拋出:

[#|2013-02-08T09:49:12.559+0100|SEVERE|glassfish3.1.2|javax.enterprise.resource.webcontainer.jsf.config|_ThreadID=18;_ThreadName=Thread-2;|Critical error during deployment: 
com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi 
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:672) 
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:322) 
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) 
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4750) 
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:550) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5366) 
at com.sun.enterprise.web.WebModule.start(WebModule.java:498) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733) 
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2018) 
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669) 
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109) 
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130) 
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269) 
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301) 
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461) 
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375) 
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:210) 
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:108) 
Caused by: java.util.concurrent.ExecutionException: java.net.MalformedURLException: Unknown protocol: jndi 
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) 
at java.util.concurrent.FutureTask.get(FutureTask.java:83) 
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:670) 
... 19 more 
Caused by: java.net.MalformedURLException: Unknown protocol: jndi 
at java.net.URL.<init>(URL.java:601) 
at java.net.URL.<init>(URL.java:464) 
at java.net.URL.<init>(URL.java:413) 
at java.net.URI.toURL(URI.java:1080) 
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:920) 
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:865) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:656) 
... 19 more 
|#] 

搜索這個錯誤並沒有讓我遠。我已經嘗試將捆綁startlevel增加到10,假設它啓動得太早,但這並沒有幫助。

有沒有人有一個想法可能是什麼問題? 有人甚至使用Jackrabbit作爲純粹的OSGi Bundle(除了Apache Sling的東西)嗎?

回答

0

該問題不是特定於長耳兔。請參閱http://java.net/jira/browse/GLASSFISH-18880詳細討論此錯誤。它已在GlassFish中繼版本中修復。如果您使用的是GlassFish 3.1.2.x,那麼請使用狀態白板中提到的解決方法。從本質上講,你必須禁用管理員控制檯,通過運行以下命令自動拿出作爲服務器啓動的一部分:

asadmin set configs.config.server-config.admin-service.property.adminConsoleStartup=NEVER

希望這有助於

Sahoo

+0

這樣做的伎倆,非常感謝你! – cypha