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的主要内容,如果未能解决你的问题,请参考以下文章

spring-roo 2.0 Spring Webflow 持久性最佳实践

主页上的 Spring Roo 示例不起作用

在wildfly上运行war spring roo 2.0.0 RC1

运行 Spring Boot 简单应用程序时找不到 Oracle 驱动程序

Spring Roo 想知道源码,怎么实现自动生成枯燥的有规律的文件

我可以在最新版本的 Roo 中运行我在 STS 中使用 Roo 版本 1.3.1 开发的 Spring roo 项目吗