当前位置: 首页 > 知识库问答 >
问题:

嵌入式Jetty 8热部署类(使用Maven)

空英达
2023-03-14

定义了一个标准的Maven webapp结构,它使用Spring MVC。

我正在使用嵌入式 Jetty 服务器(java 类)来测试开发中的应用程序。

用于创建 Jetty 服务器的代码概述如下。如果我对任何 JSP 文件进行更改,则这些更改将立即在浏览器中可见。

然而,如果我更改了任何类文件,例如控制器,这些更改不会被热部署。

我该怎么做才能让它工作?

我已经搜索了这个,我认为我需要使用类组织.eclipse.jetty.util.扫描仪,特别是setScan间隔方法,但不知道如何连接它?

这是创建服务器的代码

    String webAppDir = "src/main/webapp/";
    Server server = new Server(8080);
    WebAppContext webApp = new WebAppContext();
    webApp.setContextPath("/");
    webApp.setDescriptor(webAppDir + "/WEB-INF/web.xml");
    webApp.setResourceBase(webAppDir);
    webApp.setParentLoaderPriority(true);

    HandlerCollection hc = new HandlerCollection();
    ContextHandlerCollection contextHandlerCollection = new ContextHandlerCollection();
    hc.setHandlers(new Handler[] { contextHandlerCollection });
    hc.addHandler(webApp);
    server.setHandler(hc);
    return server;

先谢谢你

共有1个答案

徐涵亮
2023-03-14

对于热部署,您需要使用WebAppProvider和DeploymentManager。您可以配置它们来管理更改扫描和webapp的重新加载。因此很明显,WebappContext不是管理webapp部署的工具,它只是被部署的容器类,因此在它之外还有另一种机制可以处理部署/重新部署的概念。

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-deploy/src/test/resources/jetty-deploy-wars.xml

您可以将该 xml 块转换为嵌入式执行此操作所需的 java 调用。

或者使用类似于提供自动类重新加载的jrey jvm插件。

 类似资料:
  • 应用更新部署无需reload或者restarthi-nginx。hi-nginx-java能根据全局配置 route { lrucache { reflect { expires = 300 size = 1024 } } } 自动实现热更新。关键值由"route.lrucache.reflect.e

  • 我使用的是IntelliJ IDEA 2017.2(只是在构建为IDEA-IU-172.3317.76的情况下),作为一个SSCCE,让我们使用spring-boot的入门示例,并应用为传统部署提出的更改(第一个链接),我们将得到以下文件 pom.xml 那么我们将有application.java

  • 问题内容: 我有一个项目,其中将来自多个来源的数据处理为某些数据结构。程序完成这些结构的构建后,我希望它建立一个服务器,使用户可以手动微调这些结构。我认为使用Spring Boot设置的嵌入式Tomcat服务器上的Spring MVC正是我所需要的。 我想使用Thymeleaf作为查看技术,因此 和 但是,即使在处有一个查看文件,服务器对URL的回复也是 在调试器中单步执行代码后,似乎在某个时候(

  • 在Eclipse中,我创建了Tomcat服务器,并将我的应用程序添加到参考资料中。JSP、JS、CSS和JAVA类hot deploy就是这样工作的。 在IntelliJ中,我配置了Tomcat8服务器。在Deployment选项卡中,我添加了我启用了对,还启用了。JSP、JS、CSS热交换就是这样工作的。Java类不是。 我还检查了 我知道我可以使用JRebel,但是在Eclipse中hot d

  • 本文向大家介绍详解springboot热启动与热部署,包括了详解springboot热启动与热部署的使用技巧和注意事项,需要的朋友参考一下 一、热启动: 每自修改后, 程序自动启动spring Application上下文。 Pom中直接添加依赖即可: 这里需要注意的是每次类文件更改后需要重新编译方可触发服务重新启动 二、热交换或热部署 这个使用springloaded插件。 1.添加依赖: 如果

  • 我有一个web应用程序部署为使用Wildfly的爆炸战争。我想要得到的是 null 目前,我所处的情况是,我可以选择其中一个或另一个,但不能同时获得这两个选项(这意味着,要么每个jsp更改都强制进行新的部署,要么.class文件不强制进行新的部署)。 wildfly的当前配置(使用版本8.1.0)为 此外,我还发现,无论我在deployment-scanner配置中设置了什么,一旦服务器启动并运行