| 專案類型 | 適用場景 | 核心特徵 | 典型結構 |
|---|---|---|---|
| Java Project | SE 桌面應用、工具類庫、演算法練習 | 純 Java、無 Web 容器依賴 | src/ + bin/ + lib/ |
| Web Project | 傳統 JSP/Servlet、SSH (Struts2+Spring+Hibernate) | 含 WebRoot/WEB-INF/web.xml、部署至 Tomcat | WebRoot/WEB-INF/classes, lib |
| Maven Project | 現代 Java 專案標準、多模組、依賴管理 | pom.xml 管理依賴、生命週期、標準目錄約定 | src/main/java, src/test/java, target/ |
| Spring Project | Spring Boot、Spring Cloud 微服務 | 內嵌容器、自動配置、Actuator 監控 | 同 Maven + application.yml |
| EAR Project | Java EE 企業級應用 (EJB、JMS、JPA) | 打包為 .ear,部署至 WildFly/WebLogic | 含多個 WAR/JAR 模組 |
| Dynamic Web Project | Eclipse WTP 標準 Web 專案 (MyEclipse 同步支援) | 支援 JSF、JPA、Bean Validation 面板 | WebContent/ 而非 WebRoot/ |
新專案 → 強烈建議 Maven Project (或 Gradle)
├─ 單體 Spring Boot → Spring Initializr 生成 Maven 專案
├─ 微服務 → Spring Cloud + Maven 多模組
└─ 傳統 SSH 維護 → Web Project (漸進式遷移至 Maven)
「MyEclipse 專案類型決定技術棧」——錯誤。專案類型只是 IDE 的面板工具支援與預設目錄結構不同;實際技術棧由
pom.xml/build.gradle依賴決定。同一 Maven 專案可在 IDEA、Eclipse、VS Code 間自由切換。