java.lang.ClassNotFoundException выбрасывает некоторую ошибку - PullRequest
5 голосов
/ 12 апреля 2011
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

Я добавил следующие файлы jar:

commons-fileupload-1.2.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.16.jar
ognl-3.0.jar
servlet-api.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar

Ответы [ 10 ]

2 голосов
/ 22 сентября 2013

Скопируйте все необходимые файлы JAR и вставьте их в папку WEB-INF/lib. Затем запустите свой проект. Надеюсь, это поможет.

2 голосов
/ 21 августа 2012

Я работаю со Struts2 / Tomcat6 (в Eclipse) каждый день, и время от времени я получаю это исключение (оно приходит и уходит !!!). Что помогает сделать это, так это изменить порядок пути сборки. Итак, я перехожу к свойств проекта (щелкните правой кнопкой мыши по нему -> свойства), Путь сборки Java двигаться вверх по struts-2-core .jar ... enter image description here

1 голос
/ 05 октября 2012

У меня такая же проблема.Но я нашел решение.

Даже пакет struts2 включает все пакеты jar-файлов, которые не совместимы друг с другом.Только если следующие файлы должны быть совместимы.jar-файлы, о которых я упоминаю, совместимы, и вы можете загрузить их с сайта Struts и использовать их (не забудьте удалить существующие версии перед добавлением в библиотеку)

  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.2.1.jar
  • xwork-core-2.2.1.jar
1 голос
/ 16 сентября 2012

У меня было то же исключение, и в моем случае это была ошибка в файле web.xml.

Было:

<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.
    StrutsPrepareAndExecuteFilter
</filter-class>

Как видите, после filter. и после StrutsPrepareAndExecuteFilter.

есть разрыв строки.

Я решил проблему, просто удалив их:

<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

Если это ваш случай, это может решить проблему.

0 голосов
/ 21 июля 2014

добавить все jar, относящиеся к стойкам, поскольку BUILD PATH также копирует тот же файл в WEB-INF / lib

0 голосов
/ 13 ноября 2013

Это было связано главным образом с проблемой совместимости в jar-файле struts2-core.если вы используете этот org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter, то вам нужно использовать Struts2-Core версии 2.3.15 и выше

0 голосов
/ 21 августа 2012

Неверный путь к файлу JAR. Проверьте файлы JAR на сервере и установите правильный путь для ваших файлов JAR.

0 голосов
/ 20 августа 2012

РЕДАКТИРОВАТЬ: Я снова прошел через ту же проблему .Решение довольно простое (если вы не совершаете ошибку ниже).Вы должны поместить библиотеки (в данном случае struts2) в папку WEB-INF / lib.Для этого не копируйте напрямую «.jar».Вместо этого перейдите: «щелкните правой кнопкой мыши на проекте»> Свойства> Сборка развертывания> Добавить ..> Добавить текущий путь к своим библиотекам.Это сработало для меня при использовании Maven (я выбрал папку «Maven Dependencies»).


ПЕРЕД РЕДАКТИРОВАНИЕМ:

Я чувствовал себя вынужденным дать ответ здесь .. У меня былта же проблема, и я не нашел ответа в интернете .. и это довольно просто .. (я много раз называл себя глупым))

Я полагаю, вы ставите <фильтр> и размещает конфигурации в неправильном файле web.xml.Это должно быть xml вашего приложения, а не вашего сервера.

По крайней мере, так случилось со мной.Поскольку я новичок в веб-приложениях на Java, я не знал разницу между документами (web.xml) и забыл важную вещь: всегда загружайте примеры и сравнивайте их с моим текущим проектом.

0 голосов
/ 12 апреля 2011

Вы сказали, что поместите JAR-файлы ...

в папку web-inf, а также в build-path> библиотеки в динамическом веб-проекте eclipse

Файлы JAR должны находиться в

... / webapps / yourWebapp / WEB-INF / lib

Если вы поместите их непосредственно в каталог WEB-INF, веб-контейнер выиграетне помещайте их в путь к классу веб-приложения.

0 голосов
/ 12 апреля 2011

Согласно findjar может потребоваться добавить struts2-core-2.1.6.jar или выше

...