Проблема с отображением html в spring через tomcat 9/10

я изучаю spring и у меня появилась проблема с тем что при запуски проекта на Tomcat 9/10 страницы сайта не отображаются. в случае tomcat 10 при переходе по адресу локального сервера появляется это: ошибка 500


Message Request processing failed: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.thymeleaf.spring5.view.ThymeleafView]: Unresolvable class definition

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

jakarta.servlet.ServletException: Request processing failed: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.thymeleaf.spring5.view.ThymeleafView]: Unresolvable class definition
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1019)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
    jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

я гуглил что это значит и спрашивал у знакомых. мне посоветовали использовать tomcat 9 что я и попробывал первым делом. результатом полседовала ошибка 404. введите сюда описание изображения

гугл помочь уже с этим не смог. Надеюсь на вашу помощь(

spring config:


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.thymeleaf.spring5.SpringTemplateEngine;
import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring5.view.ThymeleafViewResolver;

@Configuration
@ComponentScan("project")
@EnableWebMvc
public class SpringConfig implements WebMvcConfigurer {

    private final ApplicationContext applicationContext;

    @Autowired
    public SpringConfig(ApplicationContext applicationContext) {
        this.applicationContext = applicationContext;
    }

    @Bean
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setApplicationContext(applicationContext);
        templateResolver.setPrefix("/WEB-INF/views/");
        templateResolver.setSuffix(".html");
        return templateResolver;
    }

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.setTemplateResolver(templateResolver());
        templateEngine.setEnableSpringELCompiler(true);
        return templateEngine;
    }

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(templateEngine());
        registry.viewResolver(resolver);
    }
}

DispatcherServletInitializer:


import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class MySpringMvcDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[] {SpringConfig.class};
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] {"/"};
    }
}

Controller:


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class FirstController {

    @GetMapping("/hello")
    public String helloPage(){
        return "first/hello";
    }

    @GetMapping("/goodbye")
    public String goodbyePage(){
        return "first/goodbye";
    }
}

** html страничка: **

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
hello!

<a href="goodbye.html">goodbye</a>
</body>
</html>

Log:

[2023-11-08 10:55:24,324] Artifact firstMavenProject:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE:   "C:\Users\Evgeniy\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\2d1ed6b0-c4c4-40f9-8c6c-21e3fea7349d"
Using CATALINA_HOME:   "C:\apache-tomcat-9.0.73"
Using CATALINA_TMPDIR: "C:\apache-tomcat-9.0.73\temp"
Using JRE_HOME:        "C:\Users\Evgeniy\.jdks\openjdk-21.0.1"
Using CLASSPATH:       "C:\apache-tomcat-9.0.73\bin\bootstrap.jar;C:\apache-tomcat-9.0.73\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
08-Nov-2023 10:55:25.305 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.73
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Feb 27 2023 15:33:40 UTC
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.73.0
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 10
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия ОС:             10.0
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Архитектура:           amd64
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Users\Evgeniy\.jdks\openjdk-21.0.1
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Версия JVM:            21.0.1+12-29
08-Nov-2023 10:55:25.307 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
08-Nov-2023 10:55:25.308 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\Evgeniy\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\2d1ed6b0-c4c4-40f9-8c6c-21e3fea7349d
08-Nov-2023 10:55:25.308 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\apache-tomcat-9.0.73
08-Nov-2023 10:55:25.308 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
08-Nov-2023 10:55:25.308 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
08-Nov-2023 10:55:25.308 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
08-Nov-2023 10:55:25.309 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
08-Nov-2023 10:55:25.309 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
08-Nov-2023 10:55:25.309 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\Evgeniy\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\2d1ed6b0-c4c4-40f9-8c6c-21e3fea7349d\conf\logging.properties
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\Evgeniy\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\2d1ed6b0-c4c4-40f9-8c6c-21e3fea7349d\jmxremote.password
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\Evgeniy\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\2d1ed6b0-c4c4-40f9-8c6c-21e3fea7349d\jmxremote.access
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
08-Nov-2023 10:55:25.310 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\Evgeniy\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\2d1ed6b0-c4c4-40f9-8c6c-21e3fea7349d
08-Nov-2023 10:55:25.311 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\apache-tomcat-9.0.73
08-Nov-2023 10:55:25.311 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\apache-tomcat-9.0.73\temp
08-Nov-2023 10:55:25.316 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Users\Evgeniy\.jdks\openjdk-21.0.1\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Oracle\Java\javapath;%M2_HOME%\binC:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\tools\maven\bin;C:\jaf\jdk-17.0.2+8\bin;;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;c:\tools\maven\binC:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Evgeniy\AppData\Local\Microsoft\WindowsApps;;C:\Program Files\Docker Toolbox;.]
08-Nov-2023 10:55:25.722 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8090"]
08-Nov-2023 10:55:25.739 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [616] milliseconds
08-Nov-2023 10:55:25.773 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
08-Nov-2023 10:55:25.773 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.73]
08-Nov-2023 10:55:25.782 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8090"]
08-Nov-2023 10:55:25.820 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [78] milliseconds
Connected to server
[2023-11-08 10:55:26,200] Artifact firstMavenProject:war exploded: Artifact is being deployed, please wait...
08-Nov-2023 10:55:26.672 INFO [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[2023-11-08 10:55:26,726] Artifact firstMavenProject:war exploded: Artifact is deployed successfully
[2023-11-08 10:55:26,726] Artifact firstMavenProject:war exploded: Deploy took 526 milliseconds
08-Nov-2023 10:55:35.790 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Установка веб приложения в папку [C:\apache-tomcat-9.0.73\webapps\manager]
08-Nov-2023 10:55:35.872 INFO [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\apache-tomcat-9.0.73\webapps\manager] has finished in [81] ms

Ответы (0 шт):