0

私はたくさん読んで、たくさん試しましたが、このことを解決できません。問題は、サービス ミックスで war ファイルをデプロイしようとしているのですが、次のエラーが表示されることです。

04:32:26,792 | デバッグ | mix-4.5.1/デプロイ | HttpServiceContext
| 117 - org.ops4j.pax.web.pax-web-jetty - 1.0.12.1 | 見つかったリソース: null 04:32:26,792 | デバッグ | mix-4.5.1/デプロイ | 抽象的なライフサイクル
| | 112 - org.eclipse.jetty.util - 7.5.4.v20111024 | 開始した org.ops4j.pax.web.service.spi.model.ServletModel-13 04:32:26,793 | エラー | mix-4.5.1/デプロイ | RegisterWebAppVisitorWC | 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(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 org.apache.felix. Framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1807)[org.apache.felix.framework-3.2.2.jar:] java.lang.ClassLoader で。実行 (DirectoryWatcher.java:291) [7:org.apache.felix.fileinstall:3.2.4] 04:32:26,794 | エラー | mix-4.5.1/デプロイ | 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.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 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 で。

この後、jsp ファイルをヒットすると、うまくいき、その jsp ファイルが表示されます。しかし、Rest URL を呼び出そうとすると、次のエラーが表示されます。

Error 405 HTTP method POST is not supported by this URL

しかし、ローカルで jetty:run でアプリケーションを実行すると、すべて正常に動作します。

この質問もここに投稿しました:

Apache Karaf、WAR デプロイメントの問題

4

1 に答える 1

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 マニフェストとの戦争) として。2 回目の場合、必要なインポートはすべて解決されていますか? 初めての場合は、必要なすべての jar が戦争に含まれており、WEB-INF/lib の適切な場所にありますか。WARには、servlet.jarなどの「許可されていない」jarが含まれていますか...

編集: わかりました、あなたの戦争には lib フォルダーにすべての jar が含まれていますが、Bundle-ClassPath の一部として WEB-INF/classes のみを定義しています。それが不足しています。lib フォルダー内の jar を含む完全なクラスパスを定義する必要があります。したがって、Bundle-ClassPath は次のようにする必要があります。

Bundle-ClassPath: WEB-INF/classes, WEB-INF/lib/spring-core.jar, ...
于 2013-08-14T09:25:30.250 に答える