使用 Eclipse EE 将动态 Web 项目重新部署到 Wildfly 服务器

Redeploy Dynamic Web Project to Wildfly Server with Eclipse EE

我正在使用 Eclipse EE 在 Wildfly v18 服务器上 运行 创建一个动态 Web 项目。我设置了一个测试 servlet 只是为了确保我的设置正常工作并将其映射到 web.xml 文件中:

@WebServlet("/Test")
public class Test extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("<h1>Test</h1>");
    }

}

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
    <servlet>
        <servlet-name>test</servlet-name>
        <servlet-class>com.nhbb.test.Test</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>/test</url-pattern>
    </servlet-mapping>
</web-app>

Servlet 工作正常,当我在网络浏览器中打开 localhost:8080/TestProject/test 时,我得到了想要的结果。但是,如果我更改 servlet 响应中的文本,更改不会反映在服务器或前端。

我尝试重新启动服务器,从服务器中删除项目并重新部署它,将服务器设置更改为“构建事件后自动发布”,使用正则表达式模式启用热代码替换 \.jar$|\.class$,以及甚至重新启动我的电脑。在任何情况下,更改都不会反映在服务器或前端,除非删除项目并使用所需的更改从头开始重新创建它。

我发现了另一种解决方法,它涉及关闭服务器,将项目从 Eclipse 导出为 WAR 文件,删除服务器 standalone\deployments 目录的内容,然后提取 WAR 文件复制到同一目录,然后再重新打开服务器。这种方法可行,但非常不方便且不切实际。

我认为我的设置有问题,因为重新部署应该比这容易得多。同时我用默认设置创建了动态web项目,所以看不出怎么不行。

如何实际地将我的项目重新部署到服务器?

“构建事件后自动发布”意味着您 构建,即保持自动构建,以部署更新的 class 文件。这也不特定于 WildFly 服务器。