2014-06-10 3 views
1

Я использую Vaadin 7 и Vaadin есть пакет javax.servlet по умолчанию, и мне нужно com.google.gwt в моих зависимости, который содержит другой javax.servlet. Когда я запускаю мое приложение, я получил эту ошибку:Исключить javax.servlet пакет из com.google.gwt зависимости от pom.xml

SEVERE: Allocate exception for servlet Vaadin Application Servlet 
java.lang.ClassCastException: com.vaadin.server.VaadinServlet cannot be cast to javax.servlet.Servlet 

Теперь я хочу, чтобы исключить javax.servlet от этой зависимости, и вот что я пытался до сих пор:

<dependency> 
<groupId>com.google.gwt</groupId> 
<artifactId>gwt-user</artifactId> 
<version>2.6.1</version> 
    <exclusions> 
    <exclusion> <!-- declare the exclusion here --> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

и это:

<build> 
<plugins> 
<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-shade-plugin</artifactId> 
     <version>2.3</version> 
     <executions> 
     <execution> 
      <phase>package</phase> 
      <goals> 
      <goal>shade</goal> 
      </goals> 
      <configuration> 
      <filters> 
       <filter> 
       <minimizeJar>true</minimizeJar> 
       <artifact>com.google.gwt:gwt-user</artifact> 
       <includes> 
        <include>com/google/**</include> 
       </includes> 
       <excludes> 
        <exclude>javax/servlet/**</exclude> 
        <exclude>javax/servlet/http/**</exclude> 
        <exclude>javax/servlet/resources/**</exclude> 
       </excludes> 
       </filter> 
      </filters> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
<plugin> 

Но оба не работали!. Помогите!

ответ

2

Я думаю, что вы на самом деле хотите, gwt-servlet зависимости, а не gwt-user.

Тем не менее, я не знаю Ваадина; может быть, есть зависимость com.vaadin, которая содержит классы GWT?

+0

Это сработало, спасибо большое! Не могли бы вы объяснить в своем сообщении, в чем разница между 'gwt-sevlet' и' gwt-user'? – deltascience

1

Согласно Вашим 2-ой попыткам, исключить необходимый пакет таким образом, приведенные ниже:

Пример:

   <configuration> 
         <packagingExcludes> 
          WEB-INF/lib/servlet-api*.jar, 
          WEB-INF/lib/jsp-api*.jar, 
          WEB-INF/lib/jstl-api*.jar, 
        </packagingExcludes> 
       </configuration> 
Смежные вопросы