2013-01-15 2 views
0

Я выполнил проект maven для его работы на моей машине, но когда импорт другого проекта maven они получают исключение:Модуль объявляет класс сервлета ......., но web.xml не имеет соответствующего сопоставления

Модуль объявляет класс сервлета ......., но web.xml не имеет соответствующего отображения; пожалуйста, добавьте следующие строки в ваш web.xml

и этот класс принадлежит библиотеке, которую использует мой проект. Я не понимаю, в чем проблема. Пожалуйста, помогите мне.

module.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<module rename-to='engile'> 
    <!-- Inherit the core Web Toolkit stuff.      --> 
    <inherits name='com.google.gwt.user.User'/> 

    <!-- Inherit the default GWT style sheet. You can change  --> 
    <!-- the theme of your GWT application by uncommenting   --> 
    <!-- any one of the following lines.       --> 
    <inherits name='com.google.gwt.user.theme.clean.Clean'/> 
    <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> --> 
    <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> --> 
    <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>  --> 

    <!-- Other module inherits          --> 

    <inherits name="com.google.gwt.inject.Inject" /> 
    <inherits name="com.appops.ui.basic.Fields" /> 
    <inherits name='com.mvp4g.Mvp4gModule' /> 
    <inherits name="gwtupload.GWTUpload"/> 
    <inherits name='com.google.api.gwt.oauth2.OAuth2'/> 
    <inherits name="com.google.gwt.xml.XML"/> 
    <inherits name="org.atmosphere.gwt.Client"/> 

    <!-- Logger at client side --> 
    <inherits name = "com.google.gwt.logging.Logging"/> 
    <set-property name="gwt.logging.enabled" value="TRUE"/> 
    <set-property name="gwt.logging.logLevel" value="INFO"/> 
    <set-property name="gwt.logging.popupHandler" value="DISABLED" /> 
    <set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED" /> 

    <!-- Specify the app entry point class.       --> 
    <entry-point class='com.engile.client.Engile'/> 

    <!-- Specify the paths for translatable code     --> 
    <source path='client'/> 
    <source path='shared'/> 


<!-- <set-property name="user.agent" value="safari"/> 
    <set-property name="user.agent" value="gecko1_8"/> --> 

</module> 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
    <filter> 
    <filter-name>guiceFilter</filter-name> 
    <filter-class>com.google.inject.servlet.GuiceFilter</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>guiceFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <listener> 
    <listener-class>com.engile.server.guice.BootstrapListener</listener-class> 
    </listener> 
    <servlet> 
    <description>AtmosphereServlet</description> 
    <servlet-name>AtmosphereServlet</servlet-name> 
    <servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet-class> 
    <init-param> 
     <param-name>org.atmosphere.disableOnStateEvent</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>org.atmosphere.cpr.AtmosphereHandler</param-name> 
     <param-value>com.engile.server.services.AtmosphereHandler</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>AtmosphereServlet</servlet-name> 
    <url-pattern>/engile/gwtComet</url-pattern> 
    </servlet-mapping> 
    <servlet> 
    <servlet-name>remoteLoggingService</servlet-name> 
    <servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>remoteLoggingService</servlet-name> 
    <url-pattern>/engile/remote_logging</url-pattern> 
    </servlet-mapping> 

<!-- <servlet> 
    <servlet-name>testImpl</servlet-name> 
    <servlet-class>com.appops.server.TestImpl</servlet-class> </servlet> 
    <servlet-mapping> <servlet-name>testImpl</servlet-name> 
    <url-pattern>/engile/test</url-pattern> 
    </servlet-mapping> --> 
    <welcome-file-list> 
    <welcome-file>Engile.html</welcome-file> 
    </welcome-file-list> 
</web-app> 
+0

Вы должны поделиться module.gwt.xml и файл web.xml. Также эта ошибка указывает на отсутствие записи в web.xml. Приложите дополнительную информацию из eclipse «Просмотр ошибок» для сообщения об ошибке. – SSR

+0

Я отредактировал свой ques.Plz посмотреть. – pbhle

+0

Были ли у вас возможности проверить все удаленные служебные интерфейсы, чтобы проверить относительные пути сервлетов в вашем приложении? – SSR

ответ

0

Вы должны проверить все интерфейсы, которые распространяются RemoteService и объявили RemoteServiceRelativePath аннотации, обеспечить что все такие относительные пути отображаются в web.xml

Пример - в https://developers.google.com/web-toolkit/doc/latest/tutorial/RPC

@RemoteServiceRelativePath("stockPrices") 
public interface StockPriceService extends RemoteService { 
} 

получает отображается в

<!-- Servlets --> 
    <servlet> 
    <servlet-name>stockPriceServiceImpl</servlet-name> 
    <servlet-class>com.google.gwt.sample.stockwatcher.server.StockPriceServiceImpl</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>stockPriceServiceImpl</servlet-name> 
    <url-pattern>/stockwatcher/stockPrices</url-pattern> 
    </servlet-mapping> 
Смежные вопросы