Spring引导应用程序部署到专用的jetty实例



如何部署"war"文件构建与spring引导码头?当我将war文件部署到jetty时,我无法访问spring引导应用程序的restful服务。

接下来的步骤:

    参考Spring引导war文档,我创建了一个war文件。我可以在war文件中看到这些文件。
    1. 复制战争到${jetty home}/webapps。(/usr/share/码头/webapps)
    2. 添加了一个context .xml文件,其中包含我的战争名称(不包括.war后缀)
    3. 重启Jetty服务

当我浏览localhost:8080时,我看到了我的web应用程序的文件夹结构(即web - inf资源)本地主机上没有可用的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 boot构建的uber jar,应用程序可以正常工作。我可以访问应用程序的所有restful资源。

明白了。我没有使用Servlet 3.0兼容的jetty版本。sudo apt-get install jetty拔出2.5兼容版本。有一次我升级到Jetty 9。

最新更新