Spring Roo 2:运行示例 Web 应用程序时出现 404

Posted

技术标签:

【中文标题】Spring Roo 2:运行示例 Web 应用程序时出现 404【英文标题】:Spring Roo 2 : 404 when running the sample web app 【发布时间】:2018-01-31 07:20:15 【问题描述】:

我已经在 OS X 上下载了 Spring Roo 2.0.0 RC1 和 Spring Tools Suite 3.9。

我创建了一个空项目,然后运行以下命令来导入 PetClinic 示例:

script --file clinic.roo

导入以及 Maven 依赖项安装按预期工作。 但是当我在服务器上运行应用程序时(股票 Pivotal tc Server Developer Edition v3.2),我收到 404 错误!

我在带注释的 @SpringBootApplication 主类上放置了一个调试断点,其中我们有主类,但没有捕获任何内容。

问题:如何运行宠物诊所样本?为什么应用程序无法启动?

问候。

【问题讨论】:

【参考方案1】:

根据Spring documentation :为了在Java EE 服务器上正确启动它,您必须扩展SpringBootServletInitializer

请确保该类来自org.springframework.boot.web.support 包,不是来自org.springframework.boot.context.web 包。

extends 之后,您必须像这样覆盖configure 方法:

@SpringBootApplication
public class PetClinicApplication extends SpringBootServletInitializer

    private static Class<PetClinicApplication> applicationClass = PetClinicApplication.class;

    /**
     * TODO Auto-generated method documentation
     *
     * @param args
     */
    public static void main(String[] args) 
        SpringApplication.run(PetClinicApplication.class, args);
    

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
        return application.sources(applicationClass);
    

解释(来自上面的同一链接):

这个新的基类——SpringBootServletInitializer——利用了 Servlet 3 风格的 Java 配置 API,让您可以在代码中描述以前只能在 web.xml 中描述的内容。

【讨论】:

以上是关于Spring Roo 2:运行示例 Web 应用程序时出现 404的主要内容,如果未能解决你的问题,请参考以下文章