Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
15 / 13 / 3
Регистрация: 20.02.2018
Сообщений: 446

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

31.03.2019, 15:11. Показов 1792. Ответов 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 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru