ก่อนอื่น Eclipse จำเป็นต้องติดตั้งปลั๊กอินของ Maven ที่อยู่: http://m2eclipse.sonatype.org/sites/m2e
การใช้ myeclipse เพื่อติดตั้งปลั๊กอิน Maven มีปัญหาบางอย่างกับโครงการ Maven ที่คุณสร้างขึ้น ก่อนอื่นทรัพยากรจะไม่ถูกเผยแพร่ภายใต้ Tomcat เมื่อเผยแพร่ Tomcat; ประการที่สองเปลี่ยนคลาสภายใต้ Web-Inf เป็นคลาสภายใต้เป้าหมาย แต่ฉันไม่รู้ว่าทำไม myeclipse ยังคงสร้างคลาสภายใต้ Web-Inf ไม่ว่าฉันจะไม่สร้างคลาสใน Web-Inf แต่เมื่อฉันเผยแพร่ Tomcat ฉันจะไม่เผยแพร่ไฟล์คลาสใด ๆ ให้คุณซึ่งเป็นเรื่องที่น่าหดหู่มาก แต่หลังจากใช้ Eclipse เพื่อสร้างโครงการ Maven มันจะดีที่จะเปิดด้วย myeclipse
ประโยชน์ของการใช้ Maven: ฉันรู้สึกว่าสิ่งที่สำคัญที่สุดคือการดาวน์โหลดแพ็คเกจ JAR และแพ็คเกจที่ขึ้นอยู่กับโดยอัตโนมัติซึ่งสามารถมั่นใจได้ว่าปัญหาของเวอร์ชัน JAR ที่แตกต่างกันเมื่อหลายคนพัฒนา นอกจากนี้โครงสร้างไฟล์มีความชัดเจนและไฟล์ Java ไฟล์ทรัพยากรและไฟล์ทดสอบจะถูกแบ่งออกอย่างชัดเจน
สองวิธีจะได้รับการแนะนำ: หนึ่ง, สร้างวิธีโครงการ Maven โดยตรง; สองสร้างวิธีการโครงการเว็บแบบไดนามิกเพื่อแปลงเป็นวิธีโครงการ Maven
1. สร้างวิธีโครงการ Maven โดยตรง
1. สร้างโครงการ Maven
จากนั้นใช้ Maven ของ Eclipse เพื่อสร้างโครงการเว็บโดยใช้โครงการ SpringMVC เป็นตัวอย่าง:
1.1 เลือกสร้างโครงการ Maven
เลือกไฟล์ -> ใหม่ -> อื่น ๆ และเลือก Maven -> โครงการ Maven ในหน้าต่างใหม่ คลิกถัดไป
1.2 เลือกเส้นทางโครงการ
ใช้พื้นที่ทำงานเริ่มต้นพื้นที่ทำงานเริ่มต้น
1.3 เลือกประเภทโครงการ
เลือก maven-archetype-webapp ใน artifact id
1.4 ป้อน ID กลุ่มและ ID ARTIFACT รวมถึงแพ็คเกจ
ID กลุ่มโดยทั่วไปเขียนด้วยชื่อของโครงการขนาดใหญ่ ID สิ่งประดิษฐ์คือชื่อโครงการย่อย
ตัวอย่างเช่นแพ็คเกจเว็บของ Spring, ID กลุ่ม: org.springframework, artifactid: Spring-Web
แพ็คเกจเป็นแพ็คเกจเริ่มต้นสำหรับคุณและไม่สามารถเขียนได้
1.5 โครงสร้างไฟล์ที่จัดตั้งขึ้นใหม่มีดังนี้
หากมีเนื้อหาจำนวนมากที่แสดงที่นี่โดยทั่วไปจะเป็นปัญหาของการตั้งค่าตัวกรอง หรือมุมมองคือโหมด javaee เพียงเปลี่ยนเป็นโหมด Java
2. กำหนดค่าโครงการ Maven
ถัดไปจำเป็นต้องเปลี่ยนการกำหนดค่าจำนวนมาก
2.1 Add Source Folder
ถัดไปคุณต้องเพิ่มสามโฟลเดอร์: SRC/Main/Java, SRC/Test/Java และ SRC/Test/Resources คลิกขวาที่ไดเรกทอรีรากของโครงการและคลิกใหม่ -> โฟลเดอร์ต้นทาง
สร้างโฟลเดอร์ทั้งสามนี้ โปรดทราบว่าไม่ใช่โฟลเดอร์ปกติ แต่เป็นโฟลเดอร์ต้นทาง
2.2 เปลี่ยนเส้นทางคลาส
คลิกขวาที่โครงการ Java Build Path -> แหล่งที่มา
ควรมี 4 โฟลเดอร์ด้านล่าง SRC/Main/Java, SRC/Main/Resources, SRC/Test/Java, SRC/Test/Resources
ดับเบิลคลิกที่โฟลเดอร์เอาต์พุตสำหรับแต่ละโฟลเดอร์และเลือกเส้นทาง
SRC/Main/Java, SRC/Main/Resources, เลือกเป้าหมาย/คลาส;
SRC/Test/Java, SRC/Test/Resources, เลือกเป้าหมาย/ชั้นเรียนเป้าหมาย;
เลือกอนุญาตให้โฟลเดอร์เอาต์พุตสำหรับโฟลเดอร์ต้นทาง
เปลี่ยนที่นี่ด้วย:
เปลี่ยนคำสั่งซื้อโฟลเดอร์ที่แสดง: คลิกคำสั่งซื้อและส่งออก
เปลี่ยนเวอร์ชัน JDK: ดับเบิลคลิกที่ไลบรารีระบบ JRE ในไลบรารีเป็นเวอร์ชัน 1.6
2.3 เปลี่ยนโครงการให้เป็นโครงการเว็บแบบไดนามิก
2.3.1 คลิกขวาที่โครงการเลือก facets โครงการและคลิกแปลงเป็น faceted จาก
2.3.2 การกำหนดค่า facets โครงการ
เปลี่ยนเวอร์ชันของโมดูลเว็บแบบไดนามิกเป็น 2.5 (3.0 คือ Java7)
หากมีการแจ้งข้อผิดพลาดคุณอาจต้องตั้งค่าระดับการปฏิบัติตามคอมไพเลอร์เป็น 1.6 ในคอมไพเลอร์ Java หรือคุณต้องเปลี่ยนเวอร์ชัน Java ของหน้าต่างนี้เป็น 1.6
2.3.3 การกำหนดค่าโครงการแก้ไข faceted
คลิกการกำหนดค่าเพิ่มเติมที่มีอยู่ ... เพื่อเปิดหน้าต่าง Project ที่แก้ไขแล้ว
นี่คือเส้นทางที่จะตั้งค่าไฟล์ web.xml และเราป้อน SRC/Main/Webapp
สร้าง descriptor การปรับใช้ web.xml สร้างไฟล์ web.xml โดยอัตโนมัติหรือไม่
2.4 การตั้งค่าการปรับใช้แอสเซมบลี (ชุดประกอบการปรับใช้เว็บ)
หลังจากตั้งค่าขั้นตอนข้างต้นคลิกตกลงและหน้าต่างคุณสมบัติจะปิด คลิกขวาที่โครงการเพื่อเปิดหน้าต่างนี้ ชุดประกอบการปรับใช้จะปรากฏในรายการทางด้านซ้าย หลังจากคลิกในดังที่แสดงด้านล่าง:
ที่นี่รายการเป็นพา ธ ไปยังการเปิดตัวไฟล์เมื่อมีการปรับใช้โครงการ
1. เราลบการทดสอบสองรายการเนื่องจากการทดสอบใช้สำหรับการทดสอบและไม่จำเป็นต้องมีการปรับใช้
2. ตั้งค่าแพ็คเกจ Maven Jar เป็น lib
เพิ่ม -> รายการเส้นทาง Java Build -> Maven Dependencies -> เสร็จสิ้น
ตั้งค่าการแสดงผลเสร็จแล้ว
3. เพิ่มแพ็คเกจ Jar ลงในโครงการ Maven
Maven สามารถจัดการแพ็คเกจ JAR ที่โครงการขึ้นอยู่กับและสามารถกำหนดแพ็คเกจ JAR ได้โดยเฉพาะผ่าน GroupID, ARTIFACTID และหมายเลขเวอร์ชัน สิ่งนี้สามารถป้องกันปัญหาของแพ็คเกจ JAR ที่ไม่สอดคล้องกันภายใต้ WEB-INF/LIB ในโครงการเว็บเก่า นอกจากนี้ Maven จะดาวน์โหลดแพ็คเกจ JAR ที่พึ่งพาแพ็คเกจ JAR ที่เพิ่มเข้ามาโดยอัตโนมัติ
3.1 เพิ่มแพ็คเกจ JAR ที่จำเป็นใน pom.xml
ใช้ตัวแก้ไข Maven POM เพื่อเปิดไฟล์ pom.xml ในโครงการเลือกการพึ่งพาคลิกเพิ่มในคอลัมน์การพึ่งพาและปุ่มค้นหาจะปรากฏขึ้นก่อนเช่นป้อน Spring-Web และจะค้นหาแพ็คเกจ JAR ที่เกี่ยวข้องกับ Spring-Web โดยอัตโนมัติ เราเลือกสปริงรุ่น 3.0.5 เพิ่มแพ็คเกจสปริงทั้งหมด แพ็คเกจขวดอื่น ๆ ที่ต้องเพิ่ม ได้แก่ : Junit, JSTL หรือคลิก pom.xml เพื่อแก้ไขไฟล์ pom.xml โดยตรง ด้วยวิธีนี้คุณสามารถคัดลอกเนื้อหาการพึ่งพาได้โดยตรง
3.2 กำหนดขอบเขตของแพ็คเกจ JAR
เมื่อเพิ่มเข้าไปในแพ็คเกจ JAR มีคุณสมบัติบางอย่างที่ต้องตั้งค่า สิ่งที่สำคัญที่สุดคือขอบเขตซึ่งมีค่าดังต่อไปนี้:
1. เปรียบเทียบค่าเริ่มต้นใช้กับทุกขั้นตอนและจะได้รับการปล่อยตัวพร้อมกับโครงการ
2. ให้บริการคล้ายกับการรวบรวมคาดว่า JDK คอนเทนเนอร์หรือผู้ใช้จะให้การพึ่งพานี้ เช่น servlet.jar
3. ใช้งานได้เฉพาะที่รันไทม์เช่นไดรเวอร์ JDBC เหมาะสำหรับขั้นตอนการรันและการทดสอบ
4. แบบทดสอบใช้เฉพาะเมื่อทำการทดสอบจะใช้ในการรวบรวมและเรียกใช้รหัสทดสอบ จะไม่ถูกปล่อยออกมาพร้อมกับโครงการ
5. ระบบที่คล้ายกับที่จัดให้มีการจัดหาขวดที่มีการอ้างอิงอย่างชัดเจนและ Maven จะไม่มองหามันในที่เก็บ
โดยปกติแล้วแพ็คเกจ Jar ขอบเขตที่จำเป็นสำหรับโครงการ SpringMVC มีดังนี้:
บางครั้งฉันพบว่า Servlet-API ยังคงบรรจุอยู่ภายใต้ LIB และจะมีการรายงานข้อผิดพลาดอย่างแน่นอนในเวลานี้ คุณต้องติดตั้ง WTP ในปลั๊กอิน Maven เช่นกัน
Eclipse เส้นทางการติดตั้งออนไลน์: http://m2eclipse.sonatype.org/sites/m2e-extras เลือกสำหรับ Eclipse WTP
4. สร้างกรอบ SpringMVC
4.1 แก้ไขไฟล์ web.xml
คุณต้องเพิ่ม log4j, การกรองอักขระ, Spring Dispatcher ฯลฯ
รหัส webx.xml มีดังนี้:
<? xml version = "1.0" encoding = "utf-8"?> <web-app xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://ww.w3.org/2001/xml XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-p_2_5 ชื่อที่ซ้ำกันเริ่มต้น-> <context-param> <param-name> webapprootkey </param-name> <param-value> maven.example.root </param-value> </stronte-param> <! </listener> <!-ตัวกรองชุดอักขระ-> <filter> <silter-name> ตัวละคร actialEncodingFilter </filter-name> <filter-class> org.springframework.web.filter.characterencodingfilter </param-name> <init-param> <init-param> </init-param> <init-Param> <param-Name> ForceEncoding </param-name> <param-value> True </param-value> </init-param> </filter> <silter-mapping> <servlet> <servlet-name> dispatcher </servlet-name> <servlet-lass> org.springframework.web.servlet.dispatcherservlet </servlet-lass> <init-param> </init-param> <load-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-name> dispatcher </servlet-name> <url-pattern>*. ทำ </url-pattern>
4.2 เขียนไฟล์การกำหนดค่าสปริง dispatcher-servlet.xml
ตัวอย่างเช่นคุณต้องการเพิ่มไดรเวอร์ MVC, การตรวจจับคำอธิบายประกอบ, การวิเคราะห์ดู ฯลฯ รหัส Dispatcher-servlet.xml มีดังนี้:
<? xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: aop = "http://www.springframework xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://ww.springframework http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/tx http://ww.springframework.org/schema/tx <MVC: คำอธิบายประกอบที่ขับเคลื่อนด้วย/> <บริบท: Component-scan base-base-package = "liming.maven.example"/> <bean> <property name = "คำนำหน้า" value = "/web-inf/views/"/> <property name = "suffix" value = ". jsp"/>
4.3 เขียนคลาสทดสอบเลเยอร์คอนโทรลเลอร์
เขียนคลาสทดสอบเลเยอร์คอนโทรลเลอร์ SpringMVC มีเพียงวิธีเดียวสำหรับการแมปที่อยู่และส่งผ่านข้อมูลไปยังหน้า รหัสมีดังนี้:
Package Liming.maven.example.view; นำเข้า org.springframework.stereotype.controller; นำเข้า org.springframework.ui.model; นำเข้า org.springframework.web.bind.annotation.requestmapping; @Controller คลาสสาธารณะทั่วไป GeneralController {@requestmapping (value = "index.do") โมฆะสาธารณะ index_jsp (รุ่นโมเดล) {model.addattribute ("liming", "hello Dawn"); System.out.println ("index.jsp"); -4.4 เขียน index.jsp หน้า
ขั้นแรกให้สร้างมุมมองโฟลเดอร์ภายใต้ SRC/Main/Webapp/Web-Inf นี่คือเส้นทางของแอตทริบิวต์คำนำหน้าในไฟล์กำหนดค่า dispatcher-servlet.xml
สร้างไฟล์ index.jsp ภายใต้มุมมอง
เราใช้ JSTL เพื่อรับข้อมูลของ controlAdd
รหัสหน้า JSP มีดังนี้:
<%@ page language = "java" contentType = "ข้อความ/html; charset = utf-8" pageencoding = "utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" 4.01 Transitional // en "" http://www.w3.org/tr/html4/loose.dtd "> <html> <head> <meta http-equiv =" title-type "titlet>" heads> "utf-8" value = "$ {liming}"> </c: out> </body> </html>5. เผยแพร่ ไปยัง Tomcat
ไม่มีอะไรจะพูดเกี่ยวกับเรื่องนี้
6. ทดสอบ
ที่อยู่การเข้าถึง: http: // localhost: 8080/liming.maven.example/index.do
นี่คือภาพหน้าจอของผลการเยี่ยมชม:
2. สร้างโครงการเว็บแบบไดนามิกเพื่อแปลงเป็นโครงการ Maven
7. วิธีที่สองคือการแปลง Project DynamicWeb เป็น Mavan
7.1 สร้างโครงการเว็บแบบไดนามิกใหม่
เลือกไฟล์ -> ใหม่ -> อื่น ๆ ในหน้าต่างใหม่ให้เลือกโครงการเว็บแบบไดนามิกภายใต้เว็บ คลิกถัดไป
7.2 กำหนดค่าข้อมูลโครงการ
7.2.1 ป้อนข้อมูลโครงการ
ก่อนเข้าสู่ชื่อโครงการ
Target Runtime โดยทั่วไปเลือกว่าจะใช้คอนเทนเนอร์อะไร Tomcat และอื่น ๆ คุณไม่สามารถเลือกได้ก่อน
เวอร์ชันโมดูลเว็บแบบไดนามิก นั่นคือหมายเลขเวอร์ชัน เลือก 2.5 (3.0 คือ Java7's)
การกำหนดค่าเป็นการกำหนดค่าที่ง่ายในการเลือก หาก Runtime Target เลือก Tomcat สิ่งนี้สอดคล้องกับทางเลือกของ Tomcat
ต่อไป.
7.2.2 กำหนดค่าโฟลเดอร์ของแหล่งที่มาและเอาต์พุต
หน้าต่างนี้เข้าสู่โฟลเดอร์ต้นทางที่คุณต้องการสร้าง และโฟลเดอร์เอาต์พุตเริ่มต้น
เราเพิ่มสิ่งนี้หลังจากสร้างโครงการ
โฟลเดอร์เอาท์พุทสามารถเปลี่ยนเป็นเป้าหมาย/คลาสได้
7.2.3 กำหนดค่าพา ธ ไปยังไฟล์ web.xml
7.3 แปลงเป็นโครงการ Maven
หลังจากสร้างโครงการเว็บแบบไดนามิกก่อนอื่นให้แปลงเป็นโครงการ Maven
คลิกขวาที่รายการนี้และเลือก Maven -> เปิดใช้งานการจัดการการพึ่งพา หน้าต่างป๊อปอัพเพิ่งเสร็จสิ้น
7.4 การกำหนดค่าอื่น ๆ
งานกำหนดค่าต่อไปนี้โดยทั่วไปเหมือนกับก่อนหน้านี้
โปรดดูที่ข้างต้น
2.1 Add Source Folder
2.2 เปลี่ยนเส้นทางคลาส
2.3.3 การกำหนดค่าโครงการแก้ไข faceted
2.4 การตั้งค่าการปรับใช้แอสเซมบลี (ชุดประกอบการปรับใช้เว็บ)
ถัดไปคือการสร้าง Framework SpringMVC เผยแพร่ไปยัง Tomcat และทดสอบ
ดาวน์โหลดไฟล์แนบ:
liming.maven.example.zip
liming.dynamic.example.zip