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

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

31.03.2019, 15:11. Показов 1727. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru