Получите исключение ClassNotFound, вызывающее приветствиеServlet, когда приложение GWT Starter развернуто на Tomcat

Среда: Windows 7, Eclipse, GWT 2.5, Tomcat7, Java jre7

Создал проект веб-приложения GWT и позволил сгенерировать пример кода. Приложение работает нормально (без каких-либо изменений кода) в Eclipse в режиме отладки. GWT скомпилирован и развернут на Tomcat7 на той же машине. При выполнении запроса RPC получите ClassNotFoundException для реализации службы class GreetingServiceImpl. Лог от Tomcat7 ниже.

Нужно ли мне добавить какой-то параметр, отсутствующий в сгенерированном образце кода? Я не мог найти ответа на этот вопрос в Интернете. Я как бы заблокирован... пожалуйста, сообщите.

----------------
Jan 28, 2013 11:55:34 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet greetServlet as unavailable
Jan 28, 2013 11:55:34 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet greetServlet
java.lang.ClassNotFoundException: com.test.sample.server.GreetingServiceImpl
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:858)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
----------------

person Roger    schedule 28.01.2013    source источник
comment
Что такое GreetingServiceImpl? Он развернут в JAR или предполагается, что он будет скопирован непосредственно в WEB-INF/lib?   -  person stevebot    schedule 28.01.2013


Ответы (1)


Попробуйте распаковать файл WAR и выполнить поиск, чтобы убедиться, что файл JAR, содержащий GreetingsServiceImpl, находится в каталоге /WEB-INF/lib, ЛИБО класс GreetingsServiceImpl находится в каталоге /WEB-INF/classes.

Трудно сказать, в какой папке искать, не зная, что такое GreetingsServiceImpl и как он включается в вашу сборку.

person stevebot    schedule 28.01.2013
comment
К вашему сведению: GreetingServiceImpl — это сервлет, сгенерированный в образце/демонстрационном коде нового проекта GWT (с использованием мастера Google Plugine for Eclipse или архетипа gwt-maven-plugin) - person Thomas Broyer; 29.01.2013