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

时间:2017-08-22 21:25:38

标签: spring-roo

我已经在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主类上放了一个调试断点,在这个主类中我们有main,没有捕获。

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

问候。

1 个答案:

答案 0 :(得分:3)

根据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中描述的内容。

相关问题