2015-06-04 2 views
0

My JSP создает экземпляр класса MovieDetails. В настоящее время я работаю с использованием сценариев, чтобы все работало нормально, прежде чем я перейду к тегам.NoClassDefFoundError в JSP, несмотря на класс, помещенный в/lib

Я использую Tomcat 8.0. Структура каталогов для MovieDetails.class: com/library/model/beans. Копия структуры каталогов с файлом MovieDetails.class также помещен под WEB-INF/Lib (попробовал положить .jar файла тоже)

В JSP у меня есть:

<%@ page import="com.library.model.beans.*" %> 

И позже:

<% 
    MovieDetails movDet = (MovieDetails)request.getAttribute("MovieDetailsBean"); 
.... 
.... 
%> 

Я получаю:

java.lang.NoClassDefFoundError: com/library/model/beans/MovieDetails 

может кто-нибудь пожалуйста, скажите мне, почему JSP может» t найти класс, несмотря на то, что класс находится в каталоге/lib?

+1

Это на самом деле не в '/ каталог/WEB-INF lib'? Помещение файла класса в иерархию каталогов в 'lib' бесполезно, если вы собираетесь это сделать, оно должно быть в'/WEB-INF/classes'. Без каких-либо подробностей невозможно помочь (например, «jar tf» output jar, который вы помещаете в 'lib'). –

+0

Да, это/WEB-INF/lib и WEB-INF/классы, о которых я говорю. –

+0

Как вы создали банку, которую вы пытались вставить в WEB-INF/lib? –

ответ

0

NoClassDefFoundError и ClassNotFoundException это две разные исключения

+0

Это, безусловно, только NoClassDefFoundError. –

+0

java.lang.NoClassDefFoundError: ком/библиотека/модель/бобы/MovieDetails (неверное имя: MovieDetails) \t java.lang.ClassLoader.defineClass1 (Native Method) \t java.lang.ClassLoader.defineClass (Unknown Source) \t java.security.SecureClassLoader.defineClass (Неизвестный источник) –

+0

@SudiptoDutta Это проблема с упаковкой или проблема с каталогом. –

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