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.
我已经在 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.