【问题标题】:Spring Roo 2 : 404 when running the sample web appSpring Roo 2:运行示例 Web 应用程序时出现 404
【发布时间】: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 主类上放置了一个调试断点,其中我们有主类,但没有捕获任何内容。

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

问候。

【问题讨论】:

    标签: spring-roo


    【解决方案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 中描述的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2020-01-28
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      相关资源
      最近更新 更多