我正在使用 Eclipse EE 創建一個動態 Web 專案以在 Wildfly v18 服務器上運行。我設定了一個測驗 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 專案,所以我看不出它是如何作業的。
我如何實際上將我的專案重新部署到服務器?
uj5u.com熱心網友回復:
“在構建事件后自動發布”意味著您構建,即保留自動構建,以部署更新的類檔案。這也并非特定于 WildFly 服務器。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473751.html
