Mengingat bahwa saya baru-baru ini mempelajari pengembangan proyek yang didistribusikan, saya akan berbicara tentang pengembangan aktual menggunakan ide IntelliJ untuk membuat proyek multi-modul berdasarkan Maven. Mungkin ada aspek yang tidak pantas, tetapi proyek dapat dijalankan. Harap ajukan semua kekurangan dan diskusikan bersama.
Pertama, mari kita tunjukkan direktori proyek proyek akhir:
Pengantar Singkat untuk Struktur Direktori:
common-parent adalah proyek induk dari semua proyek, terutama digunakan untuk mengelola paket JAR dan versi mereka yang digunakan oleh semua proyek.
common-utils adalah proyek kelas alat publik, mewarisi proyek induk, dan akan diberi label sebagai paket JAR untuk digunakan oleh proyek lain.
taotao-manager adalah proyek yang mewarisi dari proyek induk kami.
taotao-manager-pojo adalah submodule dari proyek kami sendiri, yang tergantung pada Taotao-Manager dan dibagi menjadi paket JAR.
taotao-manager-mapper adalah submodule dari proyek kami sendiri, dan itu tergantung pada taotao-manager-pojo dan dibagi menjadi paket-paket toples.
taotao-manager-service adalah submodule dari proyek kami sendiri, dan itu tergantung pada taotao-manager-mapper dan dibuat menjadi paket jar.
taotao-manager-web adalah submodule dari proyek kami sendiri, dan itu tergantung pada taotao-manager-service dan digabungkan menjadi paket perang.
Berikut ini adalah operasi spesifik:
1. Ide IntelliJ Terbuka Pertama dan ikuti langkah -langkah di bawah ini:
Atau buka ide untuk pertama kalinya,
2. Pergi ke direktori pembuatan dan pilih proyek kosong, selanjutnya
3. Buka halaman proyek baru, isi nama proyek, pilih lokasi proyek, dan klik selesai
Tunggu ide untuk memuat dan melanjutkan ke langkah berikutnya
4. Pilih File> Baru> Modul dan masukkan halaman modul baru:
5. Di halaman modul baru, ikuti langkah -langkah di bawah ini:
6. Isi nama organisasi dan nama proyek, serta nomor versi
7. Konfigurasikan File Konfigurasi Repositori Maven Lokal dan Maven
8. Langkah terakhir dalam membuat proyek induk, beri nama modul, pilih direktori yang berfungsi, dan pilih Lengkap
Tunggu generasi file POM, harap dicatat bahwa metode pengemasan akan dimodifikasi sebagai POM. Ubah file POM sebagai berikut: (karena file POM panjang, hanya sebagian yang diberikan, dan semua diperoleh, harap perhatikan GitHub)
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.william</groupId> <artifactId>common-parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging><!--Modify the packaging method--> <name> Common-Parent </name> <rurl> http://maven.apache.org </rurl> <!-Definisi pusat nomor versi ketergantungan-> <Properties> <Project.Build.Sourceencoding> UTF-8 </project.build.sourceencoding> <Junit.version> </project.build.sourceencoding> <Junit.version> (omitted) </project.build.sourceencoding> <Junit.version> (oMitties> (omitted) </project.build.sourceencoding> <junit.version> (omitted.12 </project.build.sourceencoding> <junit.version <dependencyManagement> <dependencies> <!-- Time Operation Component--> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${joda-time.version}</version> </dependency> ...(omitted) </dependencyManagement> <build> <finalName>${project.artifactId}</finalName> <Plugin> <!-Plugin Salinan File Sumber Daya-> <Plugin> <GroupId> org.apache.maven.plugins </sroupid> <ArtifactId> Maven-resources-plugin </arttifactid> <version> 2,7 </version> <configuration> <configuring> UTF-8 </encoding> </Versi> <configuration> <scoding> UTF-8 </encoding> <lugin> <groupid> org.apache.maven.plugins </proupid> <t Artifactid> maven-compiler-plugin </artifactid> <version> 3.5.1 </version> <sumber> <source> 1.8 </source> </target </target> <coding> UTF-8 </encod> </encod> </target </target <encoding> utf-8 </encod> </encod> </target> <coding> UTF-8 </encod> </encod> </target> <coding> UTF-8 </encod> </ Build> </joy Project> Pertama, kelas alat publik diwarisi dari proyek orang tua Proyek Induk.
Satu hal yang perlu diperhatikan adalah bahwa agar proyek dapat muncul sebagai submodule (mirip dengan pengembangan di Eclipse), ada langkah yang perlu diperhatikan dalam membuat USM-utils:
Berikan perhatian khusus pada langkah berikutnya, langkah ini akan mempengaruhi struktur direktori.
Perhatikan juga bahwa metode paket proyek adalah JAR, yang berbeda dari proyek induk.
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <partent> <Artifactid> Common-Parent </arttifactid> <groupid> cn.william </groupid> <version> 1.0-snapshot </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Version/ <nodelversion> 4.0.0 </ModelVersion> <ArTifactId> UTILS COMMUM </ArTifacTID> <Prackaging> JAR </packaging> <!-ke Paket JAR-> <name> Common-UTILS </name> <rerl> http://maven.apache.org </url> <roperti> http://maven.apache.org </url> <roperti> http:/maven.apache.org </url> <roperti> http:/Maven.apache.org </url> </url> properti> http:/maven.apache.org </url> <url>> http:/maven.apache.org </url> </url> http:/maven.apache.org <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- Dependencies of jar package--> <dependencies> <!-- Time Operation Component--> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> </dependency> ...(omitted) </dependencies> </jadi Project>
Buat proyek pengembangan Taotao-Manager. Langkah -langkah penciptaan sama seperti di atas. Ini juga mewarisi orang tua biasa dan memodifikasi file POM-nya. Dengan rincian sebagai berikut:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <partent> <Artifactid> Common-Parent </arttifactid> <groupid> cn.william </groupid> <version> 1.0-snapshot </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Versi </Version/ <modelVersion>4.0.0</modelVersion> <artifactId>taotao-manager</artifactId> <packaging>pom</packaging> <name>taotao-manager</name> <url>http://maven.apache.org</url> <modules> <module>taotao-manager-pojo</module> <Modul> taotao-manager-mapper </dodule> <podule> taotao-manager-service </podule> <podule> taotao-manager-web </odule> </proyes> <po project.build.sourceCoding> UTF-8 </project.build.source.sourceCoding> UTF-8 </project.build.source.sourceCoding> <GroupId> cn.william </groupId> <ArTifactId> UTILS COMMONG </RENTIFACTID> <Version> 1.0-SnapShot </version> </dependency> </dependency> <build> <!-Mengkonfigurasi Plugin-> <plugin> <groupid> org.apache.tomcat.maven </groupid> <groupid> <ArTifactId> tomcat7-maven-plugin </stifactid> <donfiguration> <port> 8080 </port> <path>/</phath> </configuration> </plugin> </lugin> </bangun> </project>
Buat submodul seperti taotao-manager-pojo, mapper, layanan, web, dll., Sebagai berikut:
Klik kanan taotao-manager, pilih baru, modul,
CATATAN Dalam langkah ini yang tidak seperti saat membuat utuh-util, itu adalah menambahkan submodulnya ke direktori Taotao-Manager:
Konfigurasi Maven yang relevan, tetap default:
Cukup perhatikan direktori di mana submodule berada:
Buat submodul lain di bawah Taotao-Manager
Ketika kami menyebutkan di atas, kami membuat submodule taotao-manager-pojo. Tiga submodul lainnya dibuat mirip dengan mereka, dengan sedikit perbedaan. Saat membuat submodule taotao-manager-web, jenis proyek Maven dipilih sebagai berikut:
Ubah file pom dari submodule
Metode paket submodules Pojo, mapper, dan layanan semuanya adalah toples, dan hanya submodul web yang dikemas sebagai paket perang.
Submodule Pojo, pom.xml adalah sebagai berikut:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <partent> <Artifactid> taotao-manager </artifactid> <groupid> cn.william </groupid> <version> 1.0-snapshot </versi </Parent> </groupid> <version> 1.0-snapshot </Versi> </Parent> Modelversion> 4.0.0. <Artifactid> taotao-manager-pojo </stifactid> <packaging> jar </packaging> <name> taotao-manager-pojo </name> <rurl> http://maven.apache.org </rurl> <proypent.build.sourceencoding> </roRp.build.build.build> UTOVID> UTOUD.BUDLE.BUDLED> </ Properties> </jadi Project>
Submodule mapper tergantung pada submodule poJo. Detail pom.xml adalah sebagai berikut:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <partent> <Artifactid> taotao-manager </artifactid> <groupid> cn.william </groupid> <version> 1.0-snapshot </versi </Parent> </groupid> <version> 1.0-snapshot </Versi> </Parent> Modelversion> 4.0.0. <Artifactid> taotao-manager-mapper </stifactid> <packaging> jar </packaging> <name> taotao-manager-mapper </name> <rurl> http://maven.apache.org </url> <pro proyect. <Dependencies> <!-Ketergantungan dan Submodule PoJo-> <dependency> <Groupid> cn.william </groupid> <Artifactid> taotao-manager-pojo </Artifactid> <version> 1.0-snapshot </version> </dependency> <!-mybatis-> <groups> </version> </dependency> <!-mybatis-> <groups> </version> </dependency> <!-mybatis-> <groups> </Version> </Dependency> <!-Mybatis-> <groups> </Version> </Dependency> <!-Mybatis-> <groupt> </Version> </Dependency> <!-mybatis-> <groupt> </Version> </Dependency> <! <ArtifactId> mybatis </artifactid> </gandendency> <dependency> <Groupid> org.mybatis </groupid> <RtifactId> Mybatis-Spring </arttifactid> </dependency> <Ruppendency> <sroupid> com.github.miemiedev </grouptid> <sortif> <dependency> <GroupId> com.github.pagehelper </groupid> <ArTifactId> pageHelper </stifactid> </dependency> <!-mysql-> <dependency> <groupid> </Artency> <titifactid> MySQL-Connector-Connector-Java </Artence <groupId> com.alibaba </groupId> <ArTifactId> druid </artifactid> </dependency> </dependencies> </joy Project>
Submodule layanan tergantung pada submodule mapper, dan detail pom.xml adalah sebagai berikut:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <partent> <Artifactid> taotao-manager </artifactid> <groupid> cn.william </groupid> <version> 1.0-snapshot </versi </Parent> </groupid> <version> 1.0-snapshot </Versi> </Parent> Modelversion> 4.0.0. <Artifactid> taotao-manager-service </stifactid> <packaging> jar </packaging> <name> taotao-manager-service </name> <rurl> http://maven.apache.org </rurl> <proy Project.build.sourceencoding> <Dependencies> <!-Ketergantungan dan Submodul Mapper-> <dependency> <Groupid> cn.william </groupid> <Artifactid> taotao-manager-mapper </artifactid> <version> 1.0-snapshot </version> </dependency> <!-Spring-Spring-<version> <groupdid> <groupdid. <ArtifactId> Spring-Context </RiTtifacTID> </Dependency> <dependency> <Groupid> org.springframework </groupid> <ArtifactId> Spring-beans </artifactid> </dependency> ... (dihilangkan) </dependencies> </project>
Submodul Web tergantung pada submodule layanan, detail pom.xml adalah sebagai berikut:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/maven.romp.romp.romp. http://maven.apache.org/maven-v4_0_0.xsd "> <partent> <Artifactid> taotao-manager </artifactid> <groupid> cn.william </groupid> <version> 1.0-snapshot </Versi> </ParentVersion> 4.0.0. <ArTifactId> taotao-manager-web </artifactid> <packaging> war </packaging> <!-bagian ke dalam paket perang-> <name> taotao-manager-web maven webapp </name> <rrtp://maven.apache.org </rendendency> <randency> <!-http://maven.apache.org </rendendency> <randency> <! <groupid> cn.william </groupid> <ArTifactId> taotao-manager-service </artifactid> <version> 1.0-snapshot </version> </dependency> ... (dihilangkan) </dependencies> <build> <finalname> Taotao-manager-web </finalname> </build> </finalname>
Buat index.jsp
Pada titik ini, pembuatan proyek telah selesai. Kita dapat membuat index.jsp di direktori webapp Taotao-manager-web. Dengan rincian sebagai berikut:
Menggunakan plugin Tomcat
Kami menggunakan plugin Tomcat Maven untuk menjalankan proyek. Sebelum ini, pastikan untuk mengonfigurasi plugin Tomcat di file pom taotao-manager:
... (Dihilangkan) <build> <!-Plugin Konfigurasi-> <lugin> <groupid> org.apache.tomcat.maven </sroupid> <ArTifactId> tomcat7-maven-plugin </artifactid> <port> </port/port/port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/</port/
Konfigurasikan plugin Maven Tomcat untuk menjalankan proyek web
(1) Tambahkan konfigurasi baru
(2) Klik Jalankan, atau klik debug di sebelahnya
(3) Kesalahan dalam masalah
Terjadi kesalahan, yang mungkin orang tua-orang tua dan umum tidak dipasang di repositori lokal. Kesalahan yang terjadi adalah bahwa paket Jar Umum-Util tidak dapat ditemukan, jadi kita perlu menginstalnya.
Menunggu untuk memasang paket JAR ke repositori lokal, agak lambat, mungkin, bersabar, tunggu. . .
Setelah instalasi selesai, jalankan lagi dan informasi berikut tampaknya membuktikan bahwa operasi berhasil:
Akses melalui browser:
Pada titik ini, lingkungan proyek kami telah berhasil dibangun, dan langkah selanjutnya adalah pengembangan proyek yang sebenarnya.
penyataan:
① Mengenai bagian yang dihilangkan dalam kode di atas, itu karena kontennya terlalu panjang, jadi dihilangkan. Jika Anda ingin melihat proyek yang sudah selesai, silakan periksa github saya, alamat:
https://github.com/williamhappy/tao-shopping-mall
② Harap akui kekurangan apa pun di atas. Bagaimanapun, teknologi saya terbatas dan saya juga dalam tahap pembelajaran. Saya juga bisa memberikan pendapat yang masuk akal dan memperbaikinya.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.