15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446

Ошибка при компиляции проекте Spring MVC

31.03.2019, 15:11. Показов 1802. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброго времени, ребята!

Снова нужна ваша помощь!
В прошлый раз со скрипом и с вашей помощью мне всё-таки удалось запустить тестовый проект Spring MVC. Сделано это было с помощью конфигурационных файлов web.xml и spring-config.xml (ниже они приведены). А теперь решил избавиться от .xml и прописать всё классами (ниже приведены), но на стадии компиляции мне сразу выдало ошибку при сборке war-файла, говорит, что нужен web.xml.
Вот я не пойму зачем он нужен, если всё вроде прописали в классах (или не всё?) и как это исправить?
Класс инициализатор MainWebAppInitializer нужно где-то запускать (где?) или он автоматически запустится (в примере об этом не было сказано)?
XML
1
2
3
4
5
6
7
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project Spring-MVC-hillel: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "system.controller")
public class WebConfig  implements WebMvcConfigurer {
 
    //Регистрация контроллера представления, которые создают прямое сопоставление между URL-адресом
    // и именем представления
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
 
        registry.addViewController("/users_page");
        registry.addViewController("/tese");
    }
 
    //Bean указывающии какие странцы откуда тянуть (куда смотреть).
    // Подтягивает страницы только по имени без пути
    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver bean = new InternalResourceViewResolver();
 
        bean.setViewClass(JstlView.class);
        bean.setPrefix("/WEB-INF/pages/");
        bean.setSuffix(".jsp");
        return bean;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Класс инициализатор для загрузки приложения, который загружает конфигурацию
public class MainWebAppInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(final ServletContext sc) throws ServletException {
 
        AnnotationConfigWebApplicationContext root =
                new AnnotationConfigWebApplicationContext();
 
        root.scan("system");
        sc.addListener(new ContextLoaderListener(root));
 
        ServletRegistration.Dynamic appServlet =
                sc.addServlet("mvc", new DispatcherServlet(new GenericWebApplicationContext()));
        appServlet.setLoadOnStartup(1);
        appServlet.addMapping("/");
    }
}
Прошлый вариант с xml-файлами:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         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-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/spring-config.xml</param-value>
        </init-param>
    </servlet>
 
</web-app>
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 
    <mvc:annotation-driven/> <!--//Прописываем чтобы срабатывали аннотации-->
        <context:component-scan base-package="system"/> <!--//Прописываем директорию, которую необходимо сканировать для создания beens-->
    <!--//Указываем Spring, что когда будем находиться перед выбоором контроллера показывать данную страницу-->
        <mvc:view-controller path="/" view-name="users_page"/>
        <mvc:view-controller path="/test/" view-name="test"/>
        <!-- Показывает какие странцы откуда тянуть (куда смотреть). Подтягивает страницы только по имени без пути-->
        <bean id="resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/pages/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
</beans>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2019, 15:11
Ответы с готовыми решениями:

Ошибка при попытке загрузить сервер в проекте Spring MVC
Здравствуйте! Ребята, пытаюсь запустить простейший пример Spring MVС. Для тестирования в Maven подтянул плагин сервера...

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями Spring MVC проект собирается нормально и...

Сообщение в Spring MVC проекте
Здравствуйте. Подскажите пожалуйста, как лучше сделать систему сообщений между пользователями в SpringMVC проекте ? Есть для этого какие то...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
31.03.2019, 16:09
Лучший ответ Сообщение было отмечено Volodya_ как решение

Решение

гуглом научись пользоваться
https://stackoverflow.com/ques... r-in-maven
1
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446
31.03.2019, 18:43  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
гуглом научись пользоваться
Спасибо! С поиском на английском у меня вообще проблема
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.03.2019, 18:43
Помогаю со студенческими работами здесь

Spring MVC ошибка при инициализации бина sessionFactory
ошибка: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path...

Spring MVC ошибка запроса
Добрый день! Прошу помощи, т.к. самому уже не получается докопаться до истины. Есть проект основанный на Spring MVC взаимодействующий с...

Spring MVC. 404 ошибка Tomcat
Доброго времени суток. Проблема, собственно говоря, идиотская. Не могу понять в чём ошибка. Tomcat пишет 404 ошибку по запросу...

Ошибка, в дескрипторе развертывания . (Spring MVC)
Вот ужє третий день бьюсь головой об экран ноутбука. Я даже питался забить на все это дело и попытаться освоить Spring Boot но всего одного...

Код на ASP.NET MVC 4: ошибка при компиляции в VS 2013
есть код ap.net mvc 4, написанный в VS 2012, а при запуске в 2013 сразу выдаёт ошибку.в чём может быть дело?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru