Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么可以';这个Spring引导应用程序找不到主页?_Java_Maven_Reactjs_Spring Boot_Kotlin - Fatal编程技术网

Java 为什么可以';这个Spring引导应用程序找不到主页?

Java 为什么可以';这个Spring引导应用程序找不到主页?,java,maven,reactjs,spring-boot,kotlin,Java,Maven,Reactjs,Spring Boot,Kotlin,我正在尝试创建一个最小的Spring引导应用程序,它允许我使用 在前端进行反应 我想要实现的目标 当我运行Spring启动应用程序时,它应该显示一个带有React的页面 它里面的组件 项目结构 您可以找到源代码 阶级 主要 我得到的 当我 运行mvn cleanmvn clean spring引导:运行'and' 导航到http://localhost:8080 我得到404错误(见下文) 我怎样才能修好它 注: 我从教程中复制了这种方法 别告诉我要除掉科特林,那不太可能是科特林干的

我正在尝试创建一个最小的Spring引导应用程序,它允许我使用 在前端进行反应

我想要实现的目标

当我运行Spring启动应用程序时,它应该显示一个带有React的页面 它里面的组件

项目结构

您可以找到源代码

  • 阶级

  • 主要

我得到的

当我

  • 运行
    mvn clean
    mvn clean spring引导:运行'and'
  • 导航到
    http://localhost:8080
  • 我得到404错误(见下文)

    我怎样才能修好它

    注:

  • 我从教程中复制了这种方法
  • 别告诉我要除掉科特林,那不太可能是科特林干的 导致问题的原因
  • 更新1(07.08.2017 22:17 MSK):

    可以找到mvn clean spring boot:run的输出

    更新2(07.08.2017 22:44 MSK):

    MyApp
    类中将
    RestController
    更改为
    Controller
    ,并移动
    main
    里面的方法没有帮助

    当前,
    MyApp
    类如下所示:

    @SpringBootApplication
    @Controller
    open class MyApp {
        fun main(args: Array<String>) {
            SpringApplication.run(MyApp::class.java,*args)
        }
    }
    
    @springboot应用程序
    @控制器
    开放类MyApp{
    趣味主线(args:Array){
    run(MyApp::class.java,*args)
    }
    }
    
    现在我没有Kotlin方面的经验,但我可以告诉您,以下代码中缺少了一些内容(除了有一个额外的
    RestController
    注释)。

    在Java中,该类实现了
    ServletContextInitializer
    ,并在其中运行了
    main
    ,运行以下静态方法:

    SpringApplication.run(MyApp.class, args);
    
    我希望这有帮助

    使现代化 尝试添加一个模板解析bean,现在这不是唯一的方法,但值得一试,如下所示:

    @Bean
    public ClassLoaderTemplateResolver yourTemplateResolver() {
        ClassLoaderTemplateResolver yourTemplateResolver = new ClassLoaderTemplateResolver();
        yourTemplateResolver.setPrefix("templates/");
       return yourTemplateResolver;
    }
    
    并将以下行添加到application.properties:

    spring.thymeleaf.check-template-location=true
    spring.thymeleaf.suffix=.html
    
    别忘了将thymeleaf导入POM:

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    
    
    org.springframework.boot
    弹簧启动装置
    
    您在控制台上看到了什么消息(您在那里键入了
    mvn
    命令)?您是否看到“服务器已启动”等?您是否看到“服务器已启动”等:是。我已将mvn clean spring boot:run的输出包含在更新1中。请不要将错误和输出链接起来。将它们复制到这里并正确格式化,这样链接就不会更改或过期。他正在等待一个页面。因此,在这个用例中,
    @RestController
    不是正确的注释。应该使用
    @Controller
    。实际上,在控制器中,他使用了
    Controller
    注释,请参见此处:但在应用程序初始值设定项和RestController中……感谢您的回答。我试过了,但没用(见更新2)。你能试着添加
    ClassLoaderTemplateResolver
    bean吗?虽然它来自Thymeleaf,但既然你将模板添加到
    sources
    文件夹,我想你需要添加一个模板解析器。检查答案的更新。有点晚:)现在检查。
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>