2015-02-26 3 views
13

Какова процедура создания Java EE WebApp с Maven и Intellij?Maven WebApp с Intellij - процедура

Это то, что я делаю:

  • File/New/Project
  • Тип проекта: Maven
  • Создать из архетипа: Maven-архетип-WebApp

Но когда я создаю сервлет IntelliJ показывает символ на сервлете: enter image description here

Этот символ является «Java-классом, расположенным вне корня источника. Обратитесь к разделу Настройка содержимого Roots для деталей»

Если я запускаю проект, я получаю сообщение об ошибке.

Если я отмечаю„ресурсы“каталог, как„Источники Root“, проект работает.

Но если я перезагрузить Maven (правая кнопка мыши/Maven/реимпорт) каталог ресурсов потерял «Source Root» структуру.

Я думаю, что что-то не так в моей процедуре.

ответ

18

Создать новую папку под основнымиjava. Затем щелкните его правой кнопкой мыши и выберите . Mark Directory As ->Источники корня. Используйте этот каталог для всего кода Java, и все должно работать!

+0

Ваш ответ работает, но ...если я нажимаю правой кнопкой мыши на папку java, у меня нет контекстного меню для создания сервлета (необходимо создать класс, а затем расширить httpservlet) Я думаю, что есть метод в Intellij .... но я не знаю :( – magikbibi

+0

Не могли бы вы указать какое меню вы имеете в виду? Отображается ли оно при нажатии на папку с ресурсами? – chrkv

+0

Если я нажимаю правой кнопкой мыши на папку «resources», я могу выбрать New/Servlet. Но если я нажимаю правой кнопкой мыши на папке «java», у меня нет " Servlet " – magikbibi

1

Спасибо Chrkv!

1). Создайте новую папку под основным именем java. Затем щелкните его правой кнопкой мыши и выберите Mark Directory As -> Sources Root

2). Проект Структура/Модули/Web установите флажок для Java делает "Источники Root"

enter image description here

Теперь я могу использовать правую кнопку мыши на Java/New/Servlet.

Что такое раздел "Ресурсы"? (если я не могу создать сервлет здесь)

Правильно ли это?

0

Я также столкнулся с теми же проблемами и найти решение, заменив зависимость:

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

следуя DEPENDENCY

<dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>6.0</version> 
     <scope>provided</scope> 
    </dependency> 

после добавления этого и сделать Java исходного корневого каталога, упомянутый выше ответ, идея intellij предоставила возможность создания фильтров вместе с веб-службами. Я выполнил шаги из ссылки: http://www.tugay.biz/2013/10/hello-world-web-application-with-maven.html

+0

Шаги, упомянутые magikbibi является правильным способом, используя зависимость javax.servlet, поскольку изменение зависимости не так уж и хорошо. Это сработало и для меня –

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