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

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