2015-07-14 2 views
0

У меня есть проект J2EE с использованием Hibernate и Maven.Как включить спящие банки в WEB-INF

Спящий режим работает отлично, и я могу делать то, что мне нужно, из нескольких классов. Однако, когда я пытаюсь использовать Hibernate инструменты из сервлета, я получаю:

SEVERE: Servlet.service() for servlet [servlets.ImproServletTest] in context with path [/ImproDB] threw exception [Servlet execution threw an exception] with root cause 
java.lang.ClassNotFoundException: org.hibernate.HibernateException 

Я полагаю, это указывает на зимовку классы, которые не доступны в WEB-INF. Я предполагаю, что мне нужно скопировать копии в каталоге WEB-INF, чтобы получить эту сортировку.

Однако классы спящего режима были импортированы через Maven. Я могу видеть их в Eclipse project explorer в: «ProjectName/Ресурсы Java/Библиотеки/Зависимости Maven». Но в моей рабочей области проекта (я имею в виду на моем жестком диске), похоже, нет таких каталогов. Где эти банки должны находиться на жестком диске? Какова наилучшая практика включения их в WEB-INF, надеясь, что это решит мою проблему?

Thx заранее.

EDIT: pom.xml файл:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ImproDB</groupId> 
    <artifactId>ImproDB</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.3.10.Final</version> 
    </dependency> 
    </dependencies> 
</project> 
+0

Может я видеть ваш pom.xml и я могу сделать соответствующее лечение здесь –

+0

По умолчанию область зависимости Maven (то есть no '' вообще) должна это сделать. – BalusC

ответ

1

Корректировать pom.xml так и команды запуска mvn clean package, где ваш pom.xml есть. Это создает веб-приложение войны пакет и Hibernate будет включено также в WEB-INF/lib папки:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ImproDB</groupId> 
    <artifactId>ImproDB</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
     </configuration> 
    </plugin> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.3.10.Final</version> 
    </dependency> 
    </dependencies> 
</project> 
+0

Такая же ошибка, добавив это. –

+0

Покажите мне свой список баннеров в WEB-INF \ lib в вашем военном пакете, который вы развернули на сервере. –

+0

В WEB-INF \ lib ничего нет. Насколько я понял, Maven должен сделать необходимый импорт после изменения, которое вы предложили в pom.xml? –

0

Вы должны добавить сервлету зависимость ..

<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency>

попробовать это

+0

Такая же ошибка, добавив это. –

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