2011-01-04 8 views
2

私はTapestry5 tapx template libraryを使用して、this exampleのようにHTML電子メールを送信しています。私は次のエラーを取得する例を実行するとTapestry5:インタフェースorg.springframework.context.ApplicationContextを実装するサービスはありません

:タペストリー - 春 - 5.1.05.jar含む

Caused by: java.lang.RuntimeException: No service implements the interface org.springframework.context.ApplicationContext. 
     at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:560) 
     at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:44) 

すべてtapestry- *瓶は、私のクラスパスにあります。

欠けていることの手がかりは?

+0

クラスパスにも春がありますか? – Henning

+0

はい............ – Joel

+0

プログラムをデバッグできるIDEを使用していますか?もしそうなら、このクラスのコンストラクタを中断してください:https://svn.apache.org/repos/asf/tapestry/tapestry5/trunk/tapestry-spring/src/main/java/org/apache/tapestry5/spring/SpringModule。 Javaが春が初期化されていることを確認する。そうでない場合、クラスパス上に実際に存在しない可能性があります。 – pstanton

答えて

1

SpringIOCは、見つかったすべてのモジュールをクラスパスにロードします。 springModule(tapestry-spring.jar)はApplicactionContextサービスを初期化しようとしますが、これが原因です。

classpathからtapestry-spring.jarを削除すると問題が解決されます。

0

慎重にウェブサイトの指示に従ってください。私の推測では、あなたは特別なTapestrySpringFilter(通常のTapestryFilterではなく)を使用していないということです。

このコードを見てからしばらくお待ちください。 ApplicationContextがサービスまたは注入可能なオブジェクトとして公開されているかどうかはわかりません。それがそうであるように思われる。

+0

こんにちはハワード。 TapestrySpringFilterをWebアプリケーション用に使用していませんか?私はtapxテンプレートライブラリを使用しています - html電子メールを送信するために、私はSpringの必要性がないと思っていませんでした。 – Joel

0

十分に適正です。あなたの状況はわからないが、TapestrySpringFilterがセットアップの点で行うことをより詳細に見て、それをスタンドアロンのアプリケーションのスタートアップに複製する必要があります。いくつか特別なブートストラップの魔法があります。

+0

OKを実行します。ありがとう! (Spring、T5 Webを使用していない場合でも、スタンドアロンアプリケーションだけを使用している場合はこれが適用されますか?) – Joel

関連する問題