Spring 部署WAR以融合ESB get';FileNotFoundException:URL[bundle://248.0:1/com/bookstore/app/]';

Spring 部署WAR以融合ESB get';FileNotFoundException:URL[bundle://248.0:1/com/bookstore/app/]';,spring,osgi,apache-servicemix,Spring,Osgi,Apache Servicemix,任何帮助都将得到感激 Maven Spring Roo项目,JPA2与CXF原型简单Web服务应用程序相结合 在作为WAR(Fuse将其转换为捆绑包)部署到Fuse(Servicemix 4.4.1)后,激活(osgi:start nnn)时会出现以下错误 java.io.FileNotFoundException:URL[bundle://248.0:1/com/bookstore/app/]无法解析为绝对文件路径,因为它不位于文件系统中:bundle://248.0:1/com/bookst

任何帮助都将得到感激

Maven Spring Roo项目,JPA2与CXF原型简单Web服务应用程序相结合

在作为WAR(Fuse将其转换为捆绑包)部署到Fuse(Servicemix 4.4.1)后,激活(osgi:start nnn)时会出现以下错误

java.io.FileNotFoundException:URL[bundle://248.0:1/com/bookstore/app/]无法解析为绝对文件路径,因为它不位于文件系统中:bundle://248.0:1/com/bookstore/app/

似乎是弹簧组件扫描开始时

app context.xml包含

对扩展堆栈跟踪表示歉意,但认为它可能会有用

21:28:07,365 | INFO  | l Console Thread | XmlBeanDefinitionReader          | 248 - mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war - 0.0.0 | Loading XML bean definitions from class path resource [META-INF/spring/app-context.xml]
21:28:07,457 | WARN  | l Console Thread | hMatchingResourcePatternResolver | 248 - mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war - 0.0.0 | Cannot search for matching files underneath URL [bundle://248.0:1/com/bookstore/app/] because it does not correspond to a directory in the file system
java.io.FileNotFoundException: URL [bundle://248.0:1/com/bookstore/app/] cannot be resolved to absolute file path because it does not reside in the file system: bundle://248.0:1/com/bookstore/app/
    at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:204)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:52)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.core.io.UrlResource.getFile(UrlResource.java:168)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindPathMatchingFileResources(PathMatchingResourcePatternResolver.java:528)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.web.context.support.ServletContextResourcePatternResolver.doFindPathMatchingFileResources(ServletContextResourcePatternResolver.java:92)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:349)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:267)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.support.AbstractApplicationContext.getResources(AbstractApplicationContext.java:1227)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:204)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:204)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1335)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1325)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:186)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:147)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)[248:mvn_com.bookstore_bookstore-ws_1.0-SNAPSHOT_war:0]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext$1.call(HttpServiceContext.java:168)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext$1.call(HttpServiceContext.java:164)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.swissbox.core.ContextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUtils.java:60)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.addEventListener(HttpServiceContext.java:161)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl.addEventListener(JettyServerImpl.java:235)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl$Started.addEventListener(ServerControllerImpl.java:276)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.addEventListener(ServerControllerImpl.java:127)[160:org.ops4j.pax.web.pax-web-jetty:1.0.3]
    at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerEventListener(HttpServiceStarted.java:286)[158:org.ops4j.pax.web.pax-web-runtime:1.0.3]
    at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerEventListener(HttpServiceProxy.java:133)[158:org.ops4j.pax.web.pax-web-runtime:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.visit(RegisterWebAppVisitorWC.java:276)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:561)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.register(WebAppPublisher.java:170)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:155)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:119)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.tracker.ReplaceableService.setService(ReplaceableService.java:114)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.tracker.ReplaceableService.access$100(ReplaceableService.java:28)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.tracker.ReplaceableService$CollectionListener.serviceAdded(ReplaceableService.java:183)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.tracker.ServiceCollection$Tracker.addingService(ServiceCollection.java:181)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[karaf.jar:2.2.2-fuse-04-06]
    at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[karaf.jar:2.2.2-fuse-04-06]
    at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)[karaf.jar:2.2.2-fuse-04-06]
    at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)[karaf.jar:2.2.2-fuse-04-06]
    at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)[karaf.jar:2.2.2-fuse-04-06]
    at org.ops4j.pax.swissbox.tracker.ServiceCollection.onStart(ServiceCollection.java:139)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.tracker.ReplaceableService.onStart(ReplaceableService.java:146)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:81)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.WebXmlObserver.doPublish(WebXmlObserver.java:304)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.web.extender.war.internal.WebXmlObserver.addingEntries(WebXmlObserver.java:153)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.extender.BundleWatcher.register(BundleWatcher.java:186)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.extender.BundleWatcher.access$000(BundleWatcher.java:45)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.ops4j.pax.swissbox.extender.BundleWatcher$1.bundleChanged(BundleWatcher.java:127)[163:org.ops4j.pax.web.pax-web-extender-war:1.0.3]
    at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:795)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:717)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:597)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3781)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1792)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:927)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:914)[org.apache.felix.framework-3.0.9-fuse-05-06.jar:]
    at org.apache.karaf.shell.osgi.StartBundle.doExecute(StartBundle.java:29)[19:org.apache.karaf.shell.osgi:2.2.2.fuse-04-06]
    at org.apache.karaf.shell.osgi.BundlesCommand.doExecute(BundlesCommand.java:37)[19:org.apache.karaf.shell.osgi:2.2.2.fuse-04-06]
    at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at org.apache.karaf.shell.console.jline.Console.run(Console.java:240)[36:org.apache.karaf.shell.console:2.2.2.fuse-04-06]
    at java.lang.Thread.run(Thread.java:680)[:1.6.0_29]

很长一段时间-但是看起来好像有个Spring正在尝试扫描bundle缓存,但是对bundle的原始位置感到困惑


在Fuse配置中,尝试从Felix切换到Equinox,在Karaf中它位于
etc/config.properties
中,属性是
Karaf。框架在Fuse ESB中应该几乎相同。

请查看此页面


OSGI环境当前不支持
。确保使用
,并在应用程序上下文中将所有组件定义为bean

哇!。。看看这个……我们还需要一些……伙计们,如果有人刚刚加入,请表现出一些善意,而不是立即投反对票。这个问题并不含糊,所以它不能保证这一点。我尝试切换到春分,但我有同样的错误。我确实想知道这是否是一种误导,因为异常被记录为警告。NoClassDefFoundError:org/springframework/context/ApplicationContext进一步出错。我最初认为这是由于上面的标题例外。这是我第一次尝试将WAR作为捆绑包部署,并使用Servicemix,因此将返回到Fuse/Servicemix文档。控制台提示所有正确的必需JAR都在类路径上,但听起来确实像是类加载问题。再次感谢您的时间和回答。啊,您可能需要显式地将额外的包导入添加到您的包中,特别是如果这些导入仅适用于XML中定义的类-将org.springframework.context添加到WAR的导入以及您在app-context.XML中定义的任何其他导入,谢谢!成功了。通过向maven war插件配置添加manifest\addClasspath属性,我发现解决了这个问题。您是否可以将这个问题标记为已解决,因为您从earcam获得了解决方案