首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse 整合 Jetty 實現輕量級 Web 應用調試實戰

     編輯:Java 相關知識

對比 MyEclipse 等重量級插件,Eclipse 原生整合 Jetty 只需幾步配置,即可獲得極速啟動、零干擾的 Web 應用調試體驗。適合 Maven 項目、Spring MVC、純 Servlet/JSP 等場景。本文記錄標準配置流程。

前置條件

  • Eclipse IDE (任意版本)
  • Maven 項目 (或普通 Dynamic Web Project)
  • Jetty 發布包 (解壓至本地目錄,如 D:/jetty-9.4.x)

步驟 1:項目結構準備 (Maven 標準)

myweb/
├─ src/main/java/       # Java 源碼
├─ src/main/webapp/     # Web 資源 (JSP, CSS, JS, WEB-INF/web.xml)
│   └─ WEB-INF/
│       ├─ web.xml
│       └─ lib/         # 無需手動放 JAR,Maven 編譯輸出到 target/classes,Eclipse 自動加入 Classpath
└─ pom.xml

Maven Web 項目目錄結構

步驟 2:引入 Jetty 依賴 (Maven 方式推薦)

在 pom.xml <dependencies> 添加 (按需選版本,示例 Jetty 9 + JSP 2.3):

<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-server</artifactId>
  <version>9.4.53.v20231009</version>
</dependency>
<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-webapp</artifactId>
  <version>9.4.53.v20231009</version>
</dependency>
<dependency>  
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-jsp</artifactId>
  <version>9.4.53.v20231009</version>
</dependency>
<dependency>  
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>

原文截圖展示手動加 JAR 方式,Maven 管理更優雅,此處補充最佳實踐。

手動添加 Jetty JAR 截圖

步驟 3:建立 Jetty 啟動配置

  1. Eclipse 菜單 Run → Run Configurations...
  2. 左側 Java Application 右鍵 New,命名如 Jetty-WebApp。
  3. Main 頁籤:
    • Main class:org.eclipse.jetty.xml.XmlConfiguration (Jetty 9+ 啟動入口)
    • 勾選 Include system libraries when searching for a main class (關鍵,否則找不到 Jetty 類)
  4. Arguments 頁籤:
    • Program arguments:etc/jetty.xml (或自定義配置 etc/jetty-myweb.xml)
    • Working directory:必須設為 Jetty 安裝根目錄 (如 D:/jetty-9.4.x),相對路徑 etc/ 才能解析正確。
  5. Classpath 頁籤:確保 User Entries 包含項目 target/classes、Maven 依賴庫、Jetty 所有 JAR (Maven 自動管理無需手動加)。

Run Configuration Main 頁籤

Run Configuration Arguments 頁籤

步驟 4:編寫 WebApp 部署配置 (jetty-myweb.xml)

在 Jetty 目錄 etc/jetty-myweb.xml:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/myweb</Set>
  <Set name="war"><SystemProperty name="jetty.home"/>../myweb/target/myweb-1.0.0-SNAPSHOT</Set>  <!-- 指向 Maven 輸出的爆炸目錄或 WAR -->
  <Set name="extractWAR">false</Set>
  <Set name="defaultsDescriptor"><SystemProperty name="jetty.home"/>/etc/webdefault.xml</Set>
</Configure>

關鍵點:war 指向項目編譯輸出目錄 (Maven target/<artifactId>-<version>),修改 JSP/Java 後 無需重啟 Jetty,Eclipse 增量編譯自動生效 (JSP 修改即時生效,Java 類需重啟或配合 HotSwap/JRebel)。

步驟 5:啟動與驗證

  1. 點擊 Run,Console 輸出 Jetty 啟動日誌,見 Started ServerConnector@...{HTTP/1.1}{0.0.0.0:8080} 即成功。
  2. 瀏覽器訪問 https://localhost:8080/myweb/ 測試功能。
  3. 修改 JSP 保存 → 瀏覽器刷新即見效;修改 Java → 重啟 Jetty (或配置 JRebel 熱部署)。

進階技巧

  • 多模塊項目:每個 Web 模塊建獨立 Jetty Configuration,contextPath 錯開端口復用。
  • Debug 模式:Run → Debug Configurations 同樣設置,斷點調試零差別。
  • Jetty Maven Plugin 替代方案:mvn jetty:run 更簡單,但無法在 Eclipse Debug 視圖直觀斷點,視團隊習慣選擇。
  • Spring Boot 專用:直接 Run 主類 (內嵌 Tomcat/Jetty),無需外部 Jetty。

總結

Eclipse + Jetty = 輕量、快速、標準。核心三要素:Main Class = XmlConfiguration、Working Directory = Jetty Home、Program Arguments = etc/jetty-xxx.xml。拒絕臃腫插件,擁抱原生調試效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved