เนื่องจากเมื่อเร็ว ๆ นี้ฉันได้เรียนรู้การพัฒนาโครงการแบบกระจายฉันจะพูดคุยเกี่ยวกับการพัฒนาที่แท้จริงของการใช้แนวคิด Intellij เพื่อสร้างโครงการหลายโมดูลตาม Maven อาจมีแง่มุมที่ไม่เหมาะสม แต่โครงการสามารถดำเนินการได้ โปรดหยิบยกข้อบกพร่องทั้งหมดและพูดคุยกันด้วยกัน
ก่อนอื่นมาแสดงไดเรกทอรีโครงการของโครงการสุดท้าย:
การแนะนำสั้น ๆ เกี่ยวกับโครงสร้างไดเรกทอรี:
common-parent เป็นโครงการหลักของโครงการทั้งหมดส่วนใหญ่ใช้ในการจัดการแพ็คเกจ JAR และเวอร์ชันที่ใช้โดยโครงการทั้งหมด
common-utils เป็นโครงการระดับเครื่องมือสาธารณะที่สืบทอดโครงการแม่และจะถูกระบุว่าเป็นแพ็คเกจ JAR สำหรับการใช้งานโดยโครงการอื่น ๆ
taotao-manager เป็นโครงการที่สืบทอดมาจากโครงการแม่ของเรา
taotao-manager-pojo เป็น submodule ของโครงการของเราเองซึ่งขึ้นอยู่กับผู้จัดการ Taotao-Manager และแบ่งออกเป็นแพ็คเกจ Jar
taotao-manager-mapper เป็น submodule ของโครงการของเราเองและขึ้นอยู่กับ Taotao-Manager-Pojo และแบ่งออกเป็นแพ็คเกจ Jar
taotao-manager-service เป็น submodule ของโครงการของเราเองและขึ้นอยู่กับ Taotao-Manager-Mapper และกลายเป็นแพ็คเกจ Jar
taotao-manager-web เป็น submodule ของโครงการของเราเองและขึ้นอยู่กับ Taotao-Manager-Service และรวมเข้ากับแพ็คเกจสงคราม
ต่อไปนี้คือการดำเนินการเฉพาะ:
1. แนวคิดแรกเปิด Intellij และทำตามขั้นตอนด้านล่าง:
หรือเปิดแนวคิดเป็นครั้งแรก
2. ไปที่ไดเรกทอรีการสร้างและเลือกโครงการว่างเปล่าถัดไป
3. ไปที่หน้าโครงการใหม่กรอกชื่อโครงการเลือกตำแหน่งโครงการและคลิกเสร็จสิ้น
รอให้แนวคิดในการโหลดและดำเนินการต่อไปยังขั้นตอนต่อไป
4. เลือกไฟล์> ใหม่> โมดูลและป้อนหน้าโมดูลใหม่:
5. ในหน้าโมดูลใหม่ทำตามขั้นตอนด้านล่าง:
6. กรอกชื่อองค์กรและชื่อโครงการรวมถึงหมายเลขเวอร์ชัน
7. กำหนดค่าไดเรกทอรี Maven ในเครื่องและไฟล์การกำหนดค่าที่เก็บ Maven
8. ขั้นตอนสุดท้ายในการสร้างโครงการหลักชื่อโมดูลเลือกไดเรกทอรีการทำงานและเลือกเสร็จสมบูรณ์
รอการสร้างไฟล์ POM โปรดทราบว่าวิธีการบรรจุภัณฑ์จะถูกแก้ไขเป็น POM แก้ไขไฟล์ POM ดังนี้ (เนื่องจากไฟล์ POM มีความยาวเพียงส่วนเดียวเท่านั้นและได้รับทั้งหมดโปรดให้ความสนใจกับ GitHub)
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderVersion> 4.0.0 </modelversion> <modeversion> <sn.william </groupId> <ArtIfactId> วิธีการ-> <name> Common-Parent </name> <url> http://maven.apache.org </url> <!-คำจำกัดความส่วนกลางของหมายเลขการพึ่งพาอาศัยกัน </properties> <perdencyManagement> <การพึ่งพา> <!-ส่วนประกอบการดำเนินงานเวลา-> <การพึ่งพา> <roupId> joda-time </groupId> <ratifactid> joda-time </artifactid> <Sersion> $ {joda-time <finmname> $ {project.artifactId} </malname> <plugins> <!-ปลั๊กอินคัดลอกไฟล์ทรัพยากร-> <plugin> <loupid> org.apache.maven.plugins </groupId> <ratifactid> maven-resources-plugin </artifactid> </การกำหนดค่า> </plugin> <!-ปลั๊กอินการรวบรวม Java-> <plugin> <loupid> org.apache.maven.plugins </groupid> <ratifactid> maven-compiler-plugin </artifactid> <Soncoding> UTF-8 </Scoding> </การกำหนดค่า> </plugin> </plugins> </uffer ขั้นแรกคลาสเครื่องมือสาธารณะได้รับการสืบทอดมาจากโครงการแม่ทั่วไป
สิ่งหนึ่งที่ควรทราบคือเพื่อให้โครงการปรากฏเป็น submodule (คล้ายกับการพัฒนาใน eclipse) มีขั้นตอนที่ควรทราบในการสร้าง utils ทั่วไป:
ให้ความสนใจเป็นพิเศษกับขั้นตอนต่อไปขั้นตอนนี้จะส่งผลกระทบต่อโครงสร้างไดเรกทอรี
โปรดทราบว่าวิธีการแพ็คเกจของโครงการคือ JAR ซึ่งแตกต่างจากโครงการหลัก
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <carent> <atifactid> Common-Parent </artifactid> <roupid> cn.william </groupid> <SoderVersion> 4.0.0 </StorVersion> <RatIfactId> Common-utils </artifactid> <packaging> jar </packaging> <!-ไปยังแพ็คเกจ jar-> <name> Common-utils </name> <url> http://maven.apache.org </url> <project.build.sourceencoding> UTF-8 </project.build.sourceencoding> </premerties> <!-การพึ่งพาแพ็คเกจขวด-> <sdectencies> <! </การพึ่งพา> </project>
สร้างโครงการพัฒนา Taotao-Manager ขั้นตอนการสร้างนั้นเหมือนกับข้างต้น นอกจากนี้ยังสืบทอดการปกครองร่วมกันและแก้ไขไฟล์ POM รายละเอียดมีดังนี้:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <carent> <atifactid> Common-Parent </artifactid> <roupid> cn.william </groupid> <SoderVersion> 4.0.0 </StorVersion> <RatifactId> Taotao-Manager </artifactid> <packaging> pom </packaging> <name> taotao-manager </name> <url> http://maven.apache.org </url> <Module> Taotao-Manager-Mapper </doal> <module> Taotao-Manager-Service </dodule> <module> Taotao-Manager-Web </ Module> </modules> <properties> <project.build.sourceencoding> <Serpendency> <sdermId> cn.william </groupId> <ratifactId> Common-utils </artifactId> <Sersion> 1.0-SNAPSHOT </Serve> </การพึ่งพา> </การพึ่งพา> <สร้าง> <!-การกำหนดค่าปลั๊กอิน-> <ArtIfactId> tomcat7-maven-plugin </artifactiD> <การกำหนดค่า> <port> 8080 </port> <path>/</ath> </การกำหนดค่า> </plugin> </plugins>
สร้าง submodules เช่น taotao-manager-pojo, mapper, บริการ, เว็บ, ฯลฯ ดังนี้:
คลิกขวาที่ Taotao-Manager เลือกใหม่โมดูล
หมายเหตุในขั้นตอนนี้ซึ่งแตกต่างจากเมื่อสร้าง utils ทั่วไปมันคือการเพิ่ม submodules ลงในไดเรกทอรี Taotao-Manager:
การกำหนดค่าที่เกี่ยวข้องของ Maven เก็บค่าเริ่มต้น:
เพียงแค่ให้ความสนใจกับไดเรกทอรีที่ตั้งอยู่ใต้น้ำ:
สร้าง submodules อื่น ๆ ภายใต้ Taotao-Manager
เมื่อเรากล่าวถึงข้างต้นเราจะสร้าง submodule taotao-manager-pojo อีกสาม submodules ถูกสร้างขึ้นคล้ายกับพวกเขาโดยมีความแตกต่างเล็กน้อย เมื่อสร้าง Submodule Taotao-Web Submodule ประเภทของโครงการ Maven จะถูกเลือกดังนี้:
แก้ไขไฟล์ POM ของ Submodule
วิธีการแพคเกจของ submodules pojo, mapper และบริการเป็นขวดทั้งหมดและมีเพียง submodules เว็บที่บรรจุเป็นแพ็คเกจสงคราม
pojo submodule, pom.xml มีดังนี้:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <carent> <ratifactid> taotao-manager </artifactid> <roupid> cn.william </groupid> <version> 1.0-snapshot </เวอร์ชัน> <ArtIfactId> Taotao-Manager-Pojo </artifactid> <packaging> jar </packaging> <name> taotao-manager-pojo </name> <url> http://maven.apache.org </url> <properties> </properties> </project>
Submodule Mapper ขึ้นอยู่กับ submodule pojo รายละเอียด pom.xml มีดังนี้:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <carent> <ratifactid> taotao-manager </artifactid> <roupid> cn.william </groupid> <version> 1.0-snapshot </เวอร์ชัน> <ArtIfactId> Taotao-Manager-Mapper </artifactid> <packaging> jar </packaging> <name> taotao-manager-mapper </name> <url> http://maven.apache.org </url> <properties> </properties> <การพึ่งพา> <!-การพึ่งพาและ pojo submodule-> <การพึ่งพา> <roupId> cn.william </groupId> <ArtifactId> Taotao-Manager-Pojo </artifactid> <Sident> <Sident> <ArtIfactId> myBatis </artifactId> </การพึ่งพาอาศัย> <การพึ่งพา> <roupId> org.mybatis </groupId> <ArtifactId> mybatis-spring </artifactid> </การพึ่งพา> <predency> <การพึ่งพา> <roupId> com.github.pageHelper </groupId> <ratifactId> pageHelper </artifactid> </การพึ่งพาอาศัย> <!-mysql-> <การพึ่งพา <RoupID> com.alibaba </roupId> <ratifactId> druid </artifactid> </dercendency> </perctencies> </project>
บริการ submodule ขึ้นอยู่กับ submodule mapper และรายละเอียด pom.xml มีดังนี้:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <carent> <ratifactid> taotao-manager </artifactid> <roupid> cn.william </groupid> <version> 1.0-snapshot </เวอร์ชัน> <ArtIfactId> Taotao-Manager-Service </artifactid> <packaging> jar </packaging> <name> taotao-manager-service </name> <url> http://maven.apache.org </url> <properties> </properties> <pendencies> <!-การพึ่งพาและ mapper submodules-> <การพึ่งพา> <roupId> cn.william </groupid> <ratifactid> taotao-manager-mapper </artifactid> <ArtIfactId> Spring-Context </artifactId> </dercendency> <การพึ่งพา> <roupId> org.springframework </groupId> <ratifactid> Spring-Beans </artifactid>
submodule เว็บขึ้นอยู่กับบริการ submodule รายละเอียด pom.xml มีดังนี้:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/maven-v4_0_0.xsd "> <carent> <ratifactid> taotao-manager </artifactid> <roupid> cn.william </groupId> <verent> 1.0-snapshot </เวอร์ชัน> <ArtifactId> Taotao-Manager-Web </artifactid> <packaging> สงคราม </packaging> <!-ส่วนหนึ่งเป็นแพ็คเกจสงคราม-> <name> Taotao-Manager-Web Maven Webapp </name> <url> Http://maven.apache.org <RoupID> CN.WILLIAM </GroupID> <ArtIfactId> Taotao-Manager-Service </ArtifactId> <Sersion> 1.0-SNAPSHOT </เวอร์ชัน> </การพึ่งพาอาศัย> ...
สร้าง index.jsp
ณ จุดนี้การสร้างโครงการเสร็จสมบูรณ์ เราสามารถสร้าง index.jsp ในไดเรกทอรีเว็บแอปของ Taotao-Manager-Web รายละเอียดมีดังนี้:
ใช้ปลั๊กอิน Tomcat
เราใช้ปลั๊กอิน Tomcat ของ Maven เพื่อเรียกใช้โครงการ ก่อนหน้านี้ตรวจสอบให้แน่ใจว่าได้กำหนดค่าปลั๊กอิน Tomcat ในไฟล์ POM ของ Taotao-Manager:
... (ละเว้น) <สร้าง> <!-ปลั๊กอินการกำหนดค่า-> <plugin> <loupid> org.apache.tomcat.maven </groupid> <ratifactid> tomcat7-maven-plugin </artifactid> <configuration>
กำหนดค่าปลั๊กอิน Maven Tomcat เพื่อเรียกใช้โครงการเว็บ
(1) เพิ่มการกำหนดค่าใหม่
(2) คลิกเรียกใช้หรือคลิกการดีบักถัดไป
(3) ข้อผิดพลาดในปัญหา
เกิดข้อผิดพลาดซึ่งอาจเป็นไปได้ว่าผู้ปกครองร่วมกันและทั่วไปไม่ได้ติดตั้งในพื้นที่เก็บข้อมูลท้องถิ่น ข้อผิดพลาดที่เกิดขึ้นคือไม่สามารถพบแพ็คเกจ jar ทั่วไปได้ดังนั้นเราจึงจำเป็นต้องติดตั้ง
รอที่จะติดตั้งแพ็คเกจ JAR ไปยังที่เก็บในท้องถิ่นมันช้าไปหน่อยบางทีอาจจะอดทนรอ - -
หลังจากการติดตั้งเสร็จสมบูรณ์ให้เรียกใช้อีกครั้งและข้อมูลต่อไปนี้ปรากฏขึ้นเพื่อพิสูจน์ว่าการดำเนินการสำเร็จ:
เข้าถึงผ่านเบราว์เซอร์:
ณ จุดนี้สภาพแวดล้อมโครงการของเราได้รับการสร้างขึ้นสำเร็จและขั้นตอนต่อไปคือการพัฒนาโครงการจริง
คำแถลง:
①เกี่ยวกับส่วนที่ละเว้นในรหัสข้างต้นเป็นเพราะเนื้อหายาวเกินไปดังนั้นจึงถูกละเว้น หากคุณต้องการดูโครงการที่เสร็จสมบูรณ์โปรดตรวจสอบ GitHub ของฉันที่อยู่:
https://github.com/williamhappy/tao-shopping-mall
②โปรดรับทราบข้อบกพร่องใด ๆ ข้างต้น ท้ายที่สุดเทคโนโลยีของฉันมี จำกัด และฉันก็อยู่ในขั้นตอนการเรียนรู้ ฉันยังสามารถให้ความคิดเห็นที่สมเหตุสมผลและปรับปรุงพวกเขาด้วยกัน
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น