建立新 Maven 專案
JavaMVC
在 eclipse 環境中新建 Maven 的 Web 專案
先加入 Tomcat9 伺服器
- 確認目前在 JavaEE 視景(視窗右上角確認,並底下會有 Servers 標籤的視圖)
- Window -> Preference -> Server -> Runtime Environment
- Add -> Apache Tomcat 9.0 -> next
- Browse... 選擇您 tomcat 的位置 -> 打勾 Create a new local Server -> Finish -> Apply and Close
- 找到底下 Server 視圖,右鍵點選剛剛的 tomcat9,open
- Server Locations 選第二個 Use Tomcat installation
- Deply path 改成: webapps
- Timeouts -> Start(in seconds) 改為 1800
- 記得存檔(Ctrl + S)
- 選擇下面視圖內的 Tomcat 右鍵 -> Start
- 去瀏覽器查看 http://localhost:8080 是否有成功啟動。
安裝本地 Maven 位置
- 下載 Maven Binary zip archive 位置: https://maven.apache.org
- 解壓縮後,把 Maven 資料夾(apache-maven-x.x.x)放到您想要的位置(Ex: C:\DataSource\apache-maven-3.6.3)
- 設定系統環境變數。 控制台 -> 系統及安全性 -> 系統 -> 進階系統設定 -> 環境變數 -> path 內加入路徑 C:\DataSource\apache-maven-3.6.3\bin
- 開啟命令提示字元並輸入 mvn 指令進行測試,安裝成功會有一些 Maven 資訊顯示。
- 修改 C:\DataSource\apache-maven-3.6.3\conf\settings.xml 檔案中的資訊,
把以下字串放到中間偏下方的
<mirrors>
標籤上方
<localRepository>C:\DataSource\maven_repository\repository</localRepository>
- 將上述 settings.xml 檔複製到 C:\DataSource\maven_repository 目錄下, 並在該位置新增 repository 名稱的資料夾。
註1: 所以 C:\DataSource\maven_repository 資料夾內會有一個 repository 資料夾與 settings.xml 檔案
註2: 未來 Maven 會幫我們把從 Maven 官網下載的 jar 檔案放在這個位置(repository 資料夾)。
- 回到 Eclipse 環境內,Window -> Perferences -> Maven -> Installations -> Add -> Installation home ->Directory -> 選擇 Maven 的安裝路徑 -> 勾選 apache maven x.x.x 的選項 -> Apply
- User Settings -> User Settings -> Browse -> 選擇檔案 C:\DataSource\apache-maven-3.6.3\conf\settings.xml -> 按下 Update Settings -> 會看到下方 Local Repository 指向 C:\DataSource\maven_repository\repository
- 修改 JRE 版本 點選專案按右鍵 ->Build Configue Build Path> Liberaries 標籤,選擇欲更換版本的 JRE System Library-> 編輯 -> 選擇適合的 JRE 版本(jdk-11)。
- 點選專案按右鍵 ->Project Facet -> 選擇 java 11>Apply
- 點選專案按右鍵 ->Build Configue Build Path ->Order and Export 標籤 勾選 Maven Dependency -> java-11 JRE -> Apply
- 點選專案按右鍵 Propertis ->Project Facet ->Dynamic Web Module -> 選擇 Runtime 標籤並勾選 -> Tomcat Server x.x -> Apply
- pom.xml 內加入 dependency lib (從 Maven Repository 官網查看)設定後存檔,並按下 Alt+f5 按鍵, Update Maven Project 勾選 Force Update of Snapshots/Releases 按下 OK 按鈕更新 Maven Library。
設定開發環境編碼
- 以下都在 Window -> Preferences 裡面設定
- Preferences ->General -> Workspace -> 底下 Text file encoding 改為 UTF-8 -> Apply
- Preferences -> Web 底下的 CSS Files -> encoding 上滑找到 UTF-8 -> Apply
- Preferences -> Web 底下的 HTML Files , JSP Files 同上
- Preferences -> JSON -> JSON Files -> encoding -> UTF-8
- Preferences -> General -> Content Types -> Text -> JSP 底下的三個 -> Defalut encoding 改為 UTF-8 (這裡打字)
正式新建 Maven 的 Web 專案
左邊 Project Explorer 空白處點選右鍵 -> New -> Project -> Maven -> Maven Project -> Next
打勾 Create a simple projects -> Next
Group ID: com.sevletjsp -> Artifact Id(你要的專案名稱): jspExercise -> Version(不變) -> Packaging: war -> Finish
建立專案後發現左邊視圖有剛剛我們建的 jspExercise 專案,目前有錯誤是正常的,這時請找到專案的 pom.xml 檔案右鍵 -> Open with -> Maven POM Editor
請在中央視圖底下點選 Overview 標籤 -> Properties -> Create -> Name: maven.compiler.source -> Vaule: 1.8(or 11) -> OK -> 再一個 Create -> Name: maven.compiler.target -> Vaule: 1.8(or 11) -> OK ->存檔(Ctrl + S)
這時可以看看底下標籤 pom.xml 多了
pom.xml<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>上面是我們剛才輸入進去的,當然直接從這邊手寫這段也可以。
更新剛剛我們做的改動讓整個環境知道: 需要點選專案右鍵 -> Maven -> Update Project
打勾 Force Update of Snapshops/ Releases
右鍵選專案 -> Properties -> Project Facets -> Dynamic Web Module 右邊三角型 選 4.0 -> Java 1.8 -> Apply and Close
右鍵選專案 -> Java EE Tools -> Generate Deployment Descriptor Stub
看專案內 -> src -> main -> webapp -> WEB-INF -> web.xml -> 點兩下打開 -> 確認下方標籤在 Source
看文件內拉到最右邊看版本會是 version ="2.5" 這不是我們要的,經過 facet 設定後應該要是 4.0
因此,刪除整個 WEB-INF,再一次右鍵選專案 -> Java EE Tools -> Generate Deployment Descriptor Stub
看專案內 -> src -> main -> webapp -> WEB-INF -> web.xml -> 點兩下打開,應該就是 version= "4.0" 了
設定完成。
測試執行
打開 pom.xml 加入 Maven 的 Servlet、JSTL,可以從
https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api
https://mvnrepository.com/artifact/jstl/jstl
找到最多人使用版本,在 pom 內加入(加完後記得存檔,有外層
<dependencies>
就不用再寫一次,直接接續<dependency>
就好)
pom.xml<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>- 在專案的 src -> main -> webapp -> 右鍵 new -> jsp file -> 命名 index.jsp -> 打一些字在 index.jsp -> 存檔
- index.jsp 右鍵 -> Run As -> Run on Server -> Next -> Finish
- 成功會看到畫面。
匯入舊有專案方法
- Project Explorer -> import -> import -> Existing Projects into Workspace
- Select archive file -> Browse... -> 選擇專案壓縮檔案 -> Finish
若有問題請洽助教 謝謝~