2 Stimmen

Tapestry5: Kein Dienst implementiert das Interface org.springframework.context.ApplicationContext.

Ich benutze die Tapestry5 tapx Template-Bibliothek, um eine HTML-E-Mail zu senden, gemäß diesem Beispiel.

Wenn ich das Beispiel ausführe, erhalte ich den folgenden Fehler:

Verursacht durch: java.lang.RuntimeException: Kein Dienst implementiert das 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)

Alle tapestry-* JAR-Dateien, einschließlich tapestry-spring-5.1.05.jar, sind in meinem Klassenpfad.

Irgendwelche Hinweise, was ich übersehe?

1voto

Joel Punkte 28220

Ich habe es herausgefunden. SpringIOC lädt alle Module, die es im Klassenpfad findet. Das SpringModule in tapestry-spring.jar versucht, den ApplicactionContext-Dienst zu initialisieren, was das Problem verursacht.

Das Entfernen von tapestry-spring.jar aus dem Klassenpfad behebt das Problem.

0voto

Folgen Sie den Anweisungen auf der Website sorgfältig; ich vermute, dass Sie nicht den speziellen TapestrySpringFilter verwenden (anstatt des normalen TapestryFilters).

Es ist schon eine Weile her, seit ich diesen Code angesehen habe; ich kann mich nicht daran erinnern, ob der ApplicationContext als Service oder als injectable Objekt verfügbar ist. Es sollte so sein.

0voto

Genug davon; ich bin mir nicht sicher, was Ihre Situation ist, aber Sie sollten sich genauer ansehen, was TapestrySpringFilter in Bezug auf die Einrichtung macht und es in Ihrem eigenständigen App-Start replizieren. Es gibt einige spezielle Bootstrap-Magie, die Sie nutzen möchten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X