2015-07-15 8 views
0

Я перехожу из финала Jboss 7.1.1 в Finalfly 8.2 final, и я получаю следующую ошибку, когда пытаюсь запустить свой сервлет.не удалось выполнить развертывание wildfly 8.2 final UT010009

 Failed to start service jboss.undertow.deployment.default- 

     server.default-host./myservlet.UndertowDeploymentInfoService: 
      org.jboss.msc.service.StartException in service 
     jboss.undertow.deployment.default-server.default-              
      host./myservlet.UndertowDeploymentInfoService: Failed to start service 

     Caused by: java.lang.IllegalArgumentException: UT010009: Servlet 
    randomServlet of type class servlets.randomServlet does not implement 
     javax.servlet.Servlet 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
<display-name>server</display-name> 
<servlet> 
<display-name>randomServlet</display-name> 
<servlet-name>randomServlet</servlet-name> 
<servlet-class>servlets.randomServlet</servlet-class> 
<load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>randomServlet</servlet-name> 
<url-pattern>/randomServlet</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
<servlet-name>randomServlet</servlet-name> 
<url-pattern>randomServlet</url-pattern> 
</servlet-mapping> 
<listener> 
<listener-class>serverFunctions.SessionListener</listener-class> 
</listener> 
</web-app> 

Может быть, это кажется, потому что я использую Java 8? Любая помощь будет оценена по достоинству.

+0

, пожалуйста, покажите свой код сервлета и web.xml ... вы используете аннотацию или используете сопоставление? – kirti

+0

Теперь я использую аннотации. –

+0

plz показать ваш сервлет – kirti

ответ

0

Убедитесь, что ваш пакет (WAR или EAR) использует правильную версию JEE API (например, maven javaee-api) и не содержит реализаций класса JEE. Вероятно, в файле, который вы развертываете, есть класс javax.servlet.Servlet, и WildFly решает, что это другой класс, чем тот, который встроен в него. Это даже не имеет значения, если они точно такие же, разный загрузчик классов будет порождать ошибки, такие как 'class B extends C' is not an instance of C

+0

Я использую в своей сборке wildfly 8.2 серверную библиотеку времени выполнения и jre системную библиотеку (помимо maven и junit). У меня больше ничего нет. –

0

У меня была та же проблема. Моя проблема решена, когда я использовал аннотации на своих сервлетах вместо того, чтобы давать сервлет-отображение в web.xml.

Wildfly8 и модернизированные версии использует обновленные версии всех API, так что это дает ошибку при использовании отображения просто изменить как следует за

1) Обновление версии сервлетов до последней одной

2) Удалить все отображения сервлетов из Интернета .xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
<display-name>server</display-name> 

<listener> 
<listener-class>serverFunctions.SessionListener</listener-class> 
</listener> 
</web-app> 

3) аннотировать сервлеты следующим

Пример

@WebServlet("/randomServlet") 
public class randomServletextends HttpServlet { 
} 

Обновите все банки или зависимости maven, которые вы используете.

Это работало на меня, надеюсь, оно работает для вас.

+0

Пробовал, но не использовал. Все равно, спасибо за помощь :). –

 Смежные вопросы

  • Нет связанных вопросов^_^