Развертывание WebApp в ServiceMix
Я много читал, много пробовал, но не могу решить эту вещь. Проблема в том, что я пытаюсь развернуть файл war в Service Mix, но он выдает следующую ошибку:
04:32:26,792 | ОТЛАДКА | mix-4.5.1/deploy | HttpServiceContext
| 117 - org.ops4j.pax.web.pax-web-jetty - 1.0.12.1 | найден ресурс: ноль 04:32:26,792 | ОТЛАДКА | mix-4.5.1/deploy | AbstractLifeCycle
| 112 - org.eclipse.jetty.util - 7.5.4.v20111024 | STARTED org.ops4j.pax.web.service.spi.model.ServletModel-13 04: 32: 26,793 | ОШИБКА | mix-4.5.1/deploy | Регистрация WebAppVisitorWC | 175 - org.ops4j.pax.web.pax-web-extender-war - 1.0.12.1 | Исключение при регистрации. Пропуская. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener не найден IGE_INTEGRATION [226] в org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpraf.jpg). 3.2.2.jar:] в org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807)[org.apache.felix.framework-3.2.2.jar:] в java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_45] в org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:670)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1654)[org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:909)[org.apache.felix.framework-3.2.2.jar:] at org.ops4j.pax.swissbox.core.BundleClassLoader.findClass(BundleClassLoader.java:176)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass(BundleClassLoader.java:194)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] на java.lang.ClassLoader.loadClass (ClassLoader.java:247) [: 1.6.0_45] на org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorHS.newInstance(RegisterWebAppVisitorHS.java:221)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.visit(RegisterWebAppVisitorWC.java:269)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:561)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.register(WebAppPublisher.java:170)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:155)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$HttpServiceListener.serviceChanged(WebAppPublisher.java:119)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.tracker.ReplaceableService.setService(ReplaceableService.java:114)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.tracker.ReplaceableService.access$100(ReplaceableService.java:28)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.tracker.ReplaceableService$CollectionListener.serviceAdded(ReplaceableService.java:183)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.tracker.ServiceCollection$Tracker.addingService(ServiceCollection.java:181)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[karaf.jar:2.2.10] в org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[karaf.jar:2.2.10] в org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)[karaf.jar:2.2.10] в org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)[karaf.jar:2.2.10] в org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)[karaf.jar:2.2.10] в org.ops4j.pax.swissbox.tracker.ServiceCollection.onStart(ServiceCollection.java:139)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.tracker.ReplaceableService.onStart(ReplaceableService.java:146)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:81)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebXmlObserver.doPublish(WebXmlObserver.java:304)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebXmlObserver.addingEntries(WebXmlObserver.java:153)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.swissbox.extender.BundleWatcher.register(BundleWatcher.java:186)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.extender.BundleWatcher.access$000(BundleWatcher.java:45)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.extender.BundleWatcher$1.bundleChanged(BundleWatcher.java:127)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)[org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3879)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.Felix.startBundle(Felix.java:1850)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.BundleImpl.start(BundleImpl.java:927)[org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1244)) [7:org.apache.felix.fileinstall:3.2.4] в org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1216)[7:org.apache.felix.fileinstall:3.2.4] в org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:505)[7:org.apache.felix.fileinstall:3.2.4] в org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[7:org.apache.felix.fileinstall:3.2.4] 04:32:26,794 | ОШИБКА | mix-4.5.1/deploy | RegisterWebAppVisitorWC
| 175 - org.ops4j.pax.web.pax-web-extender-war - 1.0.12.1 | Исключение при регистрации. Пропуская. java.lang.ClassNotFoundException: org.restlet.ext.spring.SpringServerServlet не найден IGE_INTEGRATION [226] в org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.jix.rag): 3.2.2.jar:] в org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807)[org.apache.felix.framework-3.2.2.jar:] в java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_45] в org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:670)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.Felix.loadBundleClass (Felix.java: 1654) [org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.framework.BundleImpl.loadClass (BundleImpl.java:909) [org.apache.felix.framework-3.2.2.jar:] at org.ops4j.pax.swissbox.core.BundleClassLoader.findClass (BundleClassLoader.java:176) [175: org.ops4j.pax. web.pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass (BundleClassLoader.java:194) [175: org.ops4j.pax.web.pax-web- extender-war: 1.0.12.1] в java.lang.ClassLoader.loadClass (ClassLoader.java:247) [: 1.6.0_45] в org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorHS.newInstance (RegisterWebAppVisitorHS).java:221)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.visit(RegisterWebAppVisitorWC.java:200)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] по адресу org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:583)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] по адресу org.ops4j.pax.web.extender.war.internal.WebAppPublisher $ HttpServiceListener.register (WebAppPublisher.java: 170) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] в org.ops4j.pax.web.extender.war.internal.WebAppPublisher $ HttpServiceListener.serviceChanged (WebAppPublisher.java: 155) [175: org.ops 4j.pax.web.pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebAppPublisher $ HttpServiceListener.serviceChanged (WebAppPublisher.java:119) [175: орг. ops4j.pax.web.pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.swissbox.tracker.ReplaceableService.setService (ReplaceableService.java:114) [175: org.ops4j.pax.web. pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.swissbox.tracker.ReplaceableService.access $ 100 (ReplaceableService.java:28) [175: org.ops4j.pax.web.pax-web-extender -war: 1.0.12.1] at org.ops4j.pax.swissbox.tracker.ReplaceableService $ CollectionListener.serviceAdded (ReplaceableService.java:183) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.swissbox.tracker.ServiceCollection $ Tracker.addingService (ServiceCollection.java:181) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] в org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[karaf.jar:2.2.10] в org.osgi.util.tracker.AbstractTracked.trackAdding (AbstractTra cked.java:261)[karaf.jar:2.2.10] в org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)[karaf.jar:2.2.10] в org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)[karaf.jar:2.2.10] в org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)[karaf.jar:2.2.10] в org.ops4j.pax.swissbox.tracker.ServiceCollection.onStart(ServiceCollection.java:139)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle$Stopped.start(AbstractLifecycle.java:121)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start(AbstractLifecycle.java:49)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.tracker.ReplaceableService.onStart (ReplaceableService. java: 146) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle $ Stopped.start (AbstractLifecycle.java:121) [175: org.ops4j.pax.web.pa x-web-extender-war: 1.0.12.1] at org.ops4j.pax.swissbox.lifecycle.AbstractLifecycle.start (AbstractLifecycle.java:49) [175: org.ops4j.pax.web.pax-web-extender- war: 1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish (WebAppPublisher.java:81) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] at org.ops4j.pax.web.extender.war.internal.WebXmlObserver.doPublish (WebXmlObserver.java:304) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0. 12.1] at org.ops4j.pax.web.extender.war.internal.WebXmlObserver.addingEntries (WebXmlObserver.java:153) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] в org.ops4j.pax.swissbox.extender.BundleWatcher.register (BundleWatcher.java:186) [175: org.ops4j.pax.web.pax-web-extender-war: 1.0.12.1] в org.ops4j.pax.swissbox.extender.BundleWatcher.access$000(BundleWatcher.java:45)[175:org.ops4j.pax.web.pax-web-extender-war:1.0.12.1] в org.ops4j.pax.swissbox.extender. BundleWatcher $ 1.bundleChanged (BundleWatcher.java:127) [175: org.ops4j.pax.web.pax-web- extender-war: 1.0.12.1] в org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback (EventDispatcher.java:807) [org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)[org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.j: 610) [org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.framework.Felix.fireBundleEvent (Felix.java:3879) [org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.Felix.startBundle(Felix.java:1850)[org.apache.felix.framework-3.2.2.jar:] в org.apache.felix.framework.BundleImpl. начало (BundleImpl.java:927) [org.apache.felix.framework-3.2.2.jar:] с org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1244)[7: орг. apache.felix.fileinstall: 3.2.4] в org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles (DirectoryWatcher.java:1216) [7: org.apa che.felix.fileinstall: 3.2.4] в org.apache.felix.fileinstall.internal.DirectoryWatcher.process (DirectoryWatcher.java:505) [7:org.apache.felix.fileinstall:3.2.4] в org.apache.felix.fileinstall.internal.DirectoryWatcher.run (DirectoryWatcher.java:291) [7:org.apache.felix.fileinstall:3.2.4]
После этого, когда я нажимаю на файл jsp, все идет хорошо, я вижу этот файл jsp. Но когда я пытаюсь вызвать Rest URL, появляется сообщение об ошибке:
Error 405 HTTP method POST is not supported by this URL
Но локально, когда я запускаю приложение на моле: запускаю все работает нормально.
Я также разместил этот вопрос здесь:
1 ответ
Это:
RegisterWebAppVisitorWC | 175 - org.ops4j.pax.web.pax-web-extender-war - 1.0.12.1 | Registration exception. Skipping. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener not found by IGE_INTEGRATION [226] at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:812)[org.apache.felix.framework-3.2.2.jar:] at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)[org.apache.felix.framework-3.2.2.jar:] at
говорит мне, что вы упустили несколько весенних банок, как строится ваша WAR, как стандарт. WAR или как WAB (Война с OSGi Manifest). Если это второе, разрешены ли все необходимые операции импорта? Если это первый, у вас есть все необходимые банки, включенные в вашу войну и в нужном месте WEB-INF/lib. Содержит ли ваша WAR некоторые "недопустимые" файлы jar, такие как servlet.jar и т. Д...
РЕДАКТИРОВАТЬ: Хорошо, ваша война содержит все jar-файлы в папке lib, но вы определяете только WEB-INF / классы как часть вашего Bundle-ClassPath, вот чего вам не хватает. Вам нужно определить полный путь к классу, включая файлы jar в папке lib. Так что ваш Bundle-ClassPath должен выглядеть так:
Bundle-ClassPath: WEB-INF/classes, WEB-INF/lib/spring-core.jar, ...