Spring Roo 2 : 404 when 运行 示例网络应用程序

Spring Roo 2 : 404 when running the sample web app

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

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

script --file clinic.roo

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

我在带注释的 @SpringBootApplication main class 上放置了一个调试断点,其中我们有 main 并且没有捕获任何东西。

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

此致。

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

请确保此 class 来自 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);
    }
}

解释(来自同上link):

This new base class - SpringBootServletInitializer - taps into a Servlet 3 style Java configuration API which lets you describe in code what you could only describe in web.xml before.