如何将使用spring boot构建的"war"文件部署到jetty?当我将war文件部署到jetty时,我无法访问Spring启动应用程序的restful服务 .
我遵循的步骤:
-
参考Spring boot war文档我创建了一个war文件 . 我可以在war文件中看到这些文件 .
-
将战争复制到
${jetty home}/webapps
. (在/ usr /共享/码头/ web应用) -
添加了一个带有我的战争名称的contexts.xml文件(不包括.war后缀)
-
重新启动Jetty服务
当我浏览localhost:8080时,我看到了我的网络应用程序的文件夹结构 . (即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)
}
它的as-if码头开始没有开始 Spring 天的背景 . 我错过了什么?如果我运行 spring 靴内置的超级 jar ,应用程序工作正常 . 我可以访问该应用程序的所有其他资源 .
1 回答
想通了 . 我没有使用符合Servlet 3.0标准的jetty版本 .
sudo apt-get install jetty
拉出2.5兼容版本 . 一旦我更新到Jetty 9.x,它工作正常 .