使用嵌入式Jetty自动部署

时间:2015-03-09 21:18:54

标签: jetty embedded-jetty continuous-deployment

我喜欢将Jetty包含在我的应用程序中,而不是部署到容器中。但是我遇到的一个重大问题是:我如何自动部署?当容器独立运行时,将war文件复制到旧文件就足够了,它就会被拿起来。使用Jetty作为依赖项,我在命令行运行它并在完成后控制它。我无法想到一种简单的自动化方法。有没有比创建脚本来管理作业,停止容器并重新启动,跟踪作业ID等更好的解决方案?

1 个答案:

答案 0 :(得分:0)

设置一个适合您需求的DeploymentManagerAppProvider

    // === jetty deploy ===
    DeploymentManager deployer = new DeploymentManager();
    deployer.setContexts(contexts);
    deployer.setContextAttribute(
            "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern",
            ".*/servlet-api-[^/]*\\.jar$");

    WebAppProvider webapp_provider = new WebAppProvider();
    webapp_provider.setMonitoredDirName(jetty_base + "/webapps");
    webapp_provider.setDefaultsDescriptor(jetty_home + "/etc/webdefault.xml");
    webapp_provider.setScanInterval(1);
    webapp_provider.setExtractWars(true);

    deployer.addAppProvider(webapp_provider);
    server.addBean(deployer);

完整示例可在LikeJettyXml.java

中找到