gpt4 book ai didi

java - 在 IntelliJ 15 中运行 Spring Boot MVC 时的路线 404

转载 作者:行者123 更新时间:2023-11-30 07:40:44 25 4
gpt4 key购买 nike

我正在尝试运行 Mastering Spring MVC 4 中的一个非常简单的示例在 IntelliJ 15.0.2 中。我可以从命令行使用 ./gradlew bootRun 使示例正常运行,但不能从 IntelliJ 运行。

当我使用 ./gradlew bootRun 运行应用程序时,我在 http://localhost:8080 处看到模板。当我在 IntelliJ 中通过 Run 运行应用程序时,应用程序似乎正常启动,但我收到了白标签 404 页面。

申请

package masterSpringMvc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MasterSpringMvcApplication {

public static void main(String[] args) {
SpringApplication.run(MasterSpringMvcApplication.class, args);
}
}

Controller 位于src/main/java/masterSpringMvc/controller

package masterSpringMvc.controller;

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

@Controller
public class HelloController {

@RequestMapping("/")
public String hello() {
return "resultPage";
}
}

模板位于src/main/resources/templates

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en">
<meta charset="UTF-8"/>
<title>Hello thymeleaf</title>
</head>
<body>
<span th:text="|Hello thymeleaf|">Hello html</span>
</body>
</html>

构建.gradle

buildscript {
ext {
springBootVersion = '1.3.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'

jar {
baseName = 'masterSpringMvc'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
mavenCentral()
}


dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
testCompile('org.springframework.boot:spring-boot-starter-test')
}


eclipse {
classpath {
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
}
}

task wrapper(type: Wrapper) {
gradleVersion = '2.9'
}

./gradlew bootRun

% ./gradlew bootRun                                                                                                                                       
:compileJava UP-TO-DATE
:processResources
:classes
:findMainClass
:bootRun

. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.3.1.RELEASE)

2016-01-12 10:18:36.263 INFO 8812 --- [ main] m.MasterSpringMvcApplication : Starting MasterSpringMvcApplication on duffn with PID 8812 (/Users/nickduffy/Dropbox/Development/learning/java/MasterMvc/build/classes/main started by nickduffy in /Users/nickduffy/Dropbox/Development/learning/java/MasterMvc)
2016-01-12 10:18:36.266 INFO 8812 --- [ main] m.MasterSpringMvcApplication : No active profile set, falling back to default profiles: default
2016-01-12 10:18:36.503 INFO 8812 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5204062d: startup date [Tue Jan 12 10:18:36 MST 2016]; root of context hierarchy
2016-01-12 10:18:36.942 INFO 8812 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'beanNameViewResolver' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]]
2016-01-12 10:18:37.493 INFO 8812 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-01-12 10:18:37.503 INFO 8812 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2016-01-12 10:18:37.504 INFO 8812 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.0.30
2016-01-12 10:18:37.574 INFO 8812 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2016-01-12 10:18:37.574 INFO 8812 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1074 ms
2016-01-12 10:18:37.797 INFO 8812 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2016-01-12 10:18:37.801 INFO 8812 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-01-12 10:18:37.802 INFO 8812 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2016-01-12 10:18:37.802 INFO 8812 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2016-01-12 10:18:37.802 INFO 8812 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2016-01-12 10:18:38.046 INFO 8812 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5204062d: startup date [Tue Jan 12 10:18:36 MST 2016]; root of context hierarchy
2016-01-12 10:18:38.112 INFO 8812 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String masterSpringMvc.controller.HelloController.hello()
2016-01-12 10:18:38.115 INFO 8812 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2016-01-12 10:18:38.115 INFO 8812 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2016-01-12 10:18:38.137 INFO 8812 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-01-12 10:18:38.137 INFO 8812 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-01-12 10:18:38.164 INFO 8812 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-01-12 10:18:38.553 INFO 8812 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2016-01-12 10:18:38.625 INFO 8812 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-01-12 10:18:38.629 INFO 8812 --- [ main] m.MasterSpringMvcApplication : Started MasterSpringMvcApplication in 2.608 seconds (JVM running for 2.907)
> Building 80% > :bootRun

bootRun 请求成功

2016-01-12 10:29:30.798  INFO 9103 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-01-12 10:29:30.803 INFO 9103 --- [ main] m.MasterSpringMvcApplication : Started MasterSpringMvcApplication in 2.753 seconds (JVM running for 3.068)
2016-01-12 10:29:36.617 INFO 9103 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-01-12 10:29:36.617 INFO 9103 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2016-01-12 10:29:36.628 INFO 9103 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 11 ms
2016-01-12 10:29:36.644 DEBUG 9103 --- [nio-8080-exec-1] o.s.b.c.web.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@751fc5a9
2016-01-12 10:29:36.671 DEBUG 9103 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine : [THYMELEAF] INITIALIZING TEMPLATE ENGINE
2016-01-12 10:29:36.709 DEBUG 9103 --- [nio-8080-exec-1] o.t.t.AbstractTemplateResolver : [THYMELEAF] INITIALIZING TEMPLATE RESOLVER: org.thymeleaf.templateresolver.TemplateResolver
2016-01-12 10:29:36.710 DEBUG 9103 --- [nio-8080-exec-1] o.t.t.AbstractTemplateResolver : [THYMELEAF] TEMPLATE RESOLVER INITIALIZED OK
2016-01-12 10:29:36.710 DEBUG 9103 --- [nio-8080-exec-1] o.t.m.AbstractMessageResolver : [THYMELEAF] INITIALIZING MESSAGE RESOLVER: org.thymeleaf.spring4.messageresolver.SpringMessageResolver
2016-01-12 10:29:36.710 DEBUG 9103 --- [nio-8080-exec-1] o.t.m.AbstractMessageResolver : [THYMELEAF] MESSAGE RESOLVER INITIALIZED OK
2016-01-12 10:29:36.714 DEBUG 9103 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine.CONFIG : [THYMELEAF] TEMPLATE ENGINE CONFIGURATION:
[THYMELEAF] * Cache Factory implementation: org.thymeleaf.cache.StandardCacheManager
[THYMELEAF] * Template modes:
[THYMELEAF] * HTML5
[THYMELEAF] * VALIDXHTML
[THYMELEAF] * LEGACYHTML5
[THYMELEAF] * XML
[THYMELEAF] * XHTML
[THYMELEAF] * VALIDXML
[THYMELEAF] * Template resolvers (in order):
[THYMELEAF] * org.thymeleaf.templateresolver.TemplateResolver
[THYMELEAF] * Message resolvers (in order):
[THYMELEAF] * org.thymeleaf.spring4.messageresolver.SpringMessageResolver
[THYMELEAF] * Dialect [1 of 2]: org.thymeleaf.spring4.dialect.SpringStandardDialect
[THYMELEAF] * Prefix: "th"
[THYMELEAF] * Dialect [2 of 2]: nz.net.ultraq.thymeleaf.LayoutDialect
[THYMELEAF] * Prefix: "layout"
[THYMELEAF] TEMPLATE ENGINE CONFIGURED OK
2016-01-12 10:29:36.714 DEBUG 9103 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine : [THYMELEAF] TEMPLATE ENGINE INITIALIZED
2016-01-12 10:29:36.904 DEBUG 9103 --- [nio-8080-exec-1] o.s.b.c.web.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@751fc5a9
2016-01-12 10:29:37.448 DEBUG 9103 --- [nio-8080-exec-2] o.s.b.c.web.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@751fc5a9
2016-01-12 10:29:37.459 DEBUG 9103 --- [nio-8080-exec-2] o.s.b.c.web.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@751fc5a9
> 2016-01-12 10:33:50.354 INFO 9103 --- [ Thread-2] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@376b4233: startup date [Tue Jan 12 10:29:28 MST 2016]; root of context hierarchy

IntelliJ 运行

  .   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.3.1.RELEASE)

2016-01-12 10:19:32.964 INFO 8837 --- [ main] m.MasterSpringMvcApplication : Starting MasterSpringMvcApplication on duffn with PID 8837 (/Users/nickduffy/Dropbox/Development/learning/java/MasterMvc/build/classes/main started by nickduffy in /Users/nickduffy/Dropbox/Development/learning/java/MasterMvc)
2016-01-12 10:19:32.967 INFO 8837 --- [ main] m.MasterSpringMvcApplication : No active profile set, falling back to default profiles: default
2016-01-12 10:19:33.016 INFO 8837 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@587c290d: startup date [Tue Jan 12 10:19:33 MST 2016]; root of context hierarchy
2016-01-12 10:19:33.904 INFO 8837 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'beanNameViewResolver' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]]
2016-01-12 10:19:34.431 INFO 8837 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2016-01-12 10:19:34.442 INFO 8837 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2016-01-12 10:19:34.442 INFO 8837 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.0.30
2016-01-12 10:19:34.506 INFO 8837 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2016-01-12 10:19:34.506 INFO 8837 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1494 ms
2016-01-12 10:19:34.718 INFO 8837 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2016-01-12 10:19:34.721 INFO 8837 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2016-01-12 10:19:34.721 INFO 8837 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2016-01-12 10:19:34.721 INFO 8837 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2016-01-12 10:19:34.721 INFO 8837 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2016-01-12 10:19:34.892 INFO 8837 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@587c290d: startup date [Tue Jan 12 10:19:33 MST 2016]; root of context hierarchy
2016-01-12 10:19:34.936 INFO 8837 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String masterSpringMvc.controller.HelloController.hello()
2016-01-12 10:19:34.939 INFO 8837 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2016-01-12 10:19:34.940 INFO 8837 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2016-01-12 10:19:34.959 INFO 8837 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-01-12 10:19:34.959 INFO 8837 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-01-12 10:19:34.985 INFO 8837 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-01-12 10:19:35.059 INFO 8837 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2016-01-12 10:19:35.113 INFO 8837 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-01-12 10:19:35.117 INFO 8837 --- [ main] m.MasterSpringMvcApplication : Started MasterSpringMvcApplication in 2.446 seconds (JVM running for 2.858)

IntelliJ 请求 404

2016-01-12 10:33:56.916  INFO 9305 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-01-12 10:33:56.920 INFO 9305 --- [ main] m.MasterSpringMvcApplication : Started MasterSpringMvcApplication in 2.494 seconds (JVM running for 2.842)
2016-01-12 10:34:04.328 INFO 9305 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-01-12 10:34:04.328 INFO 9305 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2016-01-12 10:34:04.337 INFO 9305 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 9 ms
2016-01-12 10:34:04.348 DEBUG 9305 --- [nio-8080-exec-1] o.s.b.c.web.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@7a29e417
2016-01-12 10:34:04.370 DEBUG 9305 --- [nio-8080-exec-1] o.s.b.c.web.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@7a29e417
2016-01-12 10:34:04.880 DEBUG 9305 --- [nio-8080-exec-2] o.s.b.c.web.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@7a29e417
2016-01-12 10:34:04.886 DEBUG 9305 --- [nio-8080-exec-2] o.s.b.c.web.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@7a29e417

我的Run配置中的唯一项目是主类:masterSpringMvc.MasterSpringMvcApplication。

我还需要在 IntelliJ 中的配置中添加什么才能成功启动应用程序?

最佳答案

看起来 IDEA 项目尚未更新某些依赖项,并且 Spring Boot 自动配置未从类路径中获取所有依赖项。

尝试重新导入库并重建项目。请参阅IDEA有关如何使用 Gradle 执行此操作的文档。

关于java - 在 IntelliJ 15 中运行 Spring Boot MVC 时的路线 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com