Struts2 + Spring Integration - PullRequest
       20

Struts2 + Spring Integration

1 голос
/ 04 января 2012

Попытка интегрировать Struts2 и Spring в мое приложение с помощью Maven.Я поместил все зависимости в файл Pom, который связан с плагином Spring-web, Spring, Struts2-spring

<!-- Spring framework --> 
     <dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring</artifactId>
 <type>jar</type>
 <version>2.5.6</version>
 </dependency>
 <dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-web</artifactId>
 <version>2.5.6</version>
 </dependency>
 <dependency>
 <groupId>org.apache.struts</groupId>
 <artifactId>struts2-spring-plugin</artifactId>
 <version>2.2.3</version>
 </dependency>

, и я включил следующее в файл Web.xml,

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping> 
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>  

     <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param> 

Когда я запускаю с использованием Maven, создается файл войны, и при развертывании моего файла войны на моем сервере (glassfish) появляется сообщение об ошибке типа

"Error An error has occurred
Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NoClassDefFoundError: Could not initialize class org.springframework.web.context.ContextLoader. Please see server.log for more details."

Так что кто-нибудь, пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 04 января 2012

ContextLoader находится в банке Spring-web.Ошибка в том, что это определение класса не может быть найдено.Проверьте, присутствует ли эта зависимость в вашей папке .m2.

Если по какой-либо причине он не загружается автоматически, установите его вручную с помощью команды mvn install: install.См. Проблемы с банками в Maiber Spring Hibernate Project для более вероятных решений.

Попробуйте

  1. Создайте пакет mvn и посмотрите, будет ли в вашей войне баночка Spring

  2. После выполнения затмения mvn:eclipse, обновите eclipse, очистите рабочее пространство eclipse - project-clean (Tick Build автоматически)

откройте файл .classpath и проверьте наличие записи, аналогичной

или щелкните правой кнопкой мыши по проекту -> свойства -> путь сборки java -> библиотеки и посмотрите, есть ли в нем файл Spring-web jar.

Откройте репозиторий .m2 и посмотрите, находится ли баночка внутри репозитория. Если не выполнить установку: установите

выполните mvn dependency: tree и посмотрите,банка поднимается.

Это почти то, что я могу предложить

...