如何将使用spring boot构建的“war”文件部署到jetty?当我将war文件部署到jetty时,我无法访问我的spring-boot应用程序的restful服务。
我遵循的步骤:
-
参考
Spring boot war
文档我创建了一个战争文件。我可以看到战争档案中有这些档案。
-
将战争复制到
${jetty home}/webapps
。(/usr/share/jetty/webapps)
-
添加了一个带有我的战争名称(不包括.war后缀)的context.xml文件
-
重新启动Jetty服务
当我浏览localhost:8080时,我看到了我的web应用程序的文件夹结构。(即WEB-INF资源)
localhost中没有可用的spring资源路径。我的spring应用程序具有JAX-RS资源。下面是我的ApplicationInitializer类(
Groovy
).
class ApplicationInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
Properties props = getPropertiesFromArgs()
return new SpringApplicationBuilder([Application, "classpath:/META-INF/com/foo/testapp/bootstrap.xml"] as Object[])
.properties(props)
}
就好像jetty start并没有启动春季上下文。我错过了什么?如果我运行spring-boot内置的uber jar,应用程序工作正常。我可以访问应用程序的所有restful资源。