使用 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 服务器。
我正在使用 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 服务器。