Деплой проекта на Tomcat через Intellij Idea (вместо war файла создается jar)

 
 
 
Сообщения:33
Здравствуйте) Попробую изложить свою проблему со всеми подробностями. И так.
1) Создал простой сервлет с методом doGet:
public class MainServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        out.print("<h1>Hello Servlet</h1>");
    }
}

2) В Project Structure создал два файла: Web: Application: Exploded и Web Application: Archive

3) В правой боковой панели выбрал Maven и выполнил clean и install. В итоге в корне появилась папка target с файлом jar (нужен war для деплоя насколько я понимаю). Поэтому я пробовал в верхнем меню Idea выбирать пункт build-build artifact-build .war. В этом случае создавался war-файл.
4) Затем провел настройку локального сервера Tomcat как на картинке ниже:

Во вкладке deployment выбирал war-файл, созданный через пункт меню build.
5) После этого запускал сервер, открывался браузер и в нем ошибка 404. Адрес вручную дописывал с учетом названия war-файла. См. картинку ниже:


Файл с проектом лежит здесь.

Подскажите как создать war файл и что я в целом упустил? Хотелось бы для начала просто увидеть hello world в окне браузера))
 
 
Сообщения:75
В web.xml сервлет прописан?

"Мы же профессионалы! Мы всегда делаем чуть больше, чем требуется!" (с)
 
 
Сообщения:33
Да, извините, забыл web.xml выложить. Вроде как прописан. Вот сам файл:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

    <servlet>
        <servlet-name>mainServlet</servlet-name>
        <servlet-class>com.jgp7.servlet.MainServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>mainServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>
 
 
Сообщения:75
посмотрел проект - там с путями проблема
зайди в Project sructure -> Modules и там где Web нажми
справа появятся свойства, в том числе с путями к web.xml
там какие-то students, в общем левые пути

"Мы же профессионалы! Мы всегда делаем чуть больше, чем требуется!" (с)
 
 
Сообщения:456
Pegas:
Подскажите как создать war файл и что я в целом упустил? Хотелось бы для начала просто увидеть hello world в окне браузера))

Я не поленился, скачал и запустил (ну с небольшой настройкой сервера, у меня вот такой версии tomcat нет).
Могу Вас обрадовать, ваш код работает. Так что ищите что у вас не так настроено.

Да. Если вы хотите собирать проект с помощью maven, то чтобы собирался war, надо в pom.xml указать на это: добавьте <packaging>war</packaging> в project.
А если хотите еще и делать deploy на tomcat с помощью maven, то вам понадобится еще и плагин к нему, tomcat-maven-plugin вроде (к локальному запуску из IDEA это не относится).
 
 
Сообщения:33
Спасибо MuH3gPaB и izon. Ключевым оказалось добавление в pom.xml<packaging>war</packaging>. После этого скомпелировал .war и указал на него серверу. Все заработало, желаемый результат достигнут. Еще раз спасибо)
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет