Étant donné que j'ai récemment appris le développement d'un projet distribué, je parlerai du développement réel de l'utilisation de l'idée IntelliJ pour créer des projets multi-modules basés sur Maven. Il peut y avoir des aspects inappropriés, mais le projet peut être exécuté. Veuillez mettre toutes les lacunes et en discuter ensemble.
Tout d'abord, montrons le répertoire du projet du projet final:
Une brève introduction à la structure du répertoire:
common-parent est le projet parent de tous les projets, principalement utilisé pour gérer les packages JAR et leurs versions utilisées par tous les projets.
common-utils est un projet public de classe d'outils, héritant du projet parent, et il sera étiqueté comme un package de pot à utiliser par d'autres projets.
taotao-manager est un projet qui hérite de notre projet parent.
taotao-manager-pojo est un sous-module de notre propre projet, qui dépend de Taotao-Manager et est divisé en packages JAR.
taotao-manager-mapper est un sous-module de notre propre projet, et il dépend de Taotao-Manager-Pojo et est divisé en packages JAR.
taotao-manager-service est un sous-module de notre propre projet, et cela dépend de Taotao-Manager-Mapper et est transformé en paquet en pot.
taotao-manager-web est un sous-module de notre propre projet, et cela dépend du service Taotao-Manager et est combiné dans un package de guerre.
Voici les opérations spécifiques:
1. Première idée d'ouvre Intellij et suivez les étapes ci-dessous:
Ou une idée ouverte pour la première fois,
2. Accédez au répertoire de la création et sélectionnez le projet vide, suivant
3. Accédez à la nouvelle page du projet, remplissez le nom du projet, sélectionnez l'emplacement du projet et cliquez sur Terminer
Attendez que l'idée se charge et passez à l'étape suivante
4. Sélectionnez Fichier> Nouveau> Module et entrez la nouvelle page du module:
5. Sur la page du nouveau module, suivez les étapes ci-dessous:
6. Remplissez le nom de l'organisation et le nom du projet, ainsi que le numéro de version
7. Configurer le répertoire Maven local et les fichiers de configuration du référentiel Maven
8. La dernière étape de la création du projet parent, nommez le module, sélectionnez le répertoire de travail et sélectionnez Compléter
Attendez la génération du fichier POM, veuillez noter que la méthode d'emballage doit être modifiée en tant que POM. Modifiez le fichier POM comme suit: (Étant donné que le fichier POM est long, seule une partie est donnée et que tous sont obtenus, veuillez prêter attention à Github)
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <ModelVersion> 4.0.0 </ ModelVersion> <proupId> CN.William </ GroupId> <ArtifActid> Common-Parent </ Artifactid> <version> 1.0-Snapshot </De version> <Packaging> POM <name> Common-Parent </name> <url> http://maven.apache.org </url> <! - Définition centrale du numéro de version -> <projeties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> </nudit> 4.12 </junit.version> ... <DependencyManagement> <Dependances> <! - Time Operation Component -> <Dependency> <ProupId> Joda-time </rolgleId> <ArtifActid> Joda-Time </ ArfactId> <Dersion> $ {Joda-Time.Version} </ Version> </Dependency> ... (omis) </DependencyManagement> <uild> <infame> $ {Project.ArtifactId} <! - Plugin de copie de fichiers de ressources -> <plugin> <proupId> org.apache.maven.plugins </prôdId> <ArtefactId> Maven-Resources-Plugin </ ArfactId> <Dersion> 2.7 </De version> </GIGin> <coding> UTF-8 </coding> </ / Configuration> </gingin> <! - Plugin Java Compilation - </ / Configuration> <proupId> org.apache.maven.plugins </rompupid> <letifactive> maven-compiler-plugin </ artifactid> <version> 3.5.1 </ version> <fonfiguration> <soura> 1.8 </ource> </ Cibler> 1.8 </ Target> <coding> utf-8 </encoding> </figuration> </pantin> Premièrement, la classe d'outils publics est héritée du projet de parent commun.
Une chose à noter est que pour que le projet apparaisse en tant que sous-module (similaire au développement dans Eclipse), il y a une étape à noter dans la création d'Utitil communs:
Portez une attention particulière à l'étape suivante, cette étape affectera la structure du répertoire.
Notez également que la méthode du package du projet est JAR, qui est différente du projet parent.
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactive> Common-Parent </lefactive> <proupId> CN.William </proupId> <version> 1.0-Snapshot </DERNE> </ RELATING> ../-parent / pom.xml </ relatif <ModelVersion> 4.0.0 </ ModelVersion> <ArtefactId> Common-Utils </RetifActid> <Packaging> Jar </packaging> <! - To Jar Package -> <name> Common-Utils </name> <url> http://mave.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> </properties> <! - dépendances du package jar -> <pependces> <! - Time Operation Component - <Dendency> <proupId> joda-time </proupId> <artifiactid> joda-time </ artifactid> </dependence> (ommée> </pteentences> </ptesion>
Créez un projet de développement Taotao-Manager. Les étapes de création sont les mêmes que ci-dessus. Il hérite également du parent commun et modifie son fichier POM. Les détails sont les suivants:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactive> Common-Parent </lefactive> <proupId> CN.William </proupId> <version> 1.0-Snapshot </DERNE> </ RELATING> ../-parent / pom.xml </ relatif <ModelVersion> 4.0.0 </ ModelVersion> <ArtefactId> TAOTAO-MANGER </ ArfactId> <Packaging> POM </packaging> <name> Taotaoo-manager </name> <url> http://maven.apache.org </url> </ modules> <module> Taotaoo-manage <Dodule> TAOTAO-MANGER-MAPPER </ MODULE> <DOLULE> TAOTAO-MANGER-SERVICE </DOLULE> <MOLULE> TAOTAO-MANGER-WEB </DOLULE> </DOLULES> <PROPERTIES> <Project.Build.Sourceencoding> UTF-8 </project.build.sourceencoding> <dependency> <proupId> cn.william </proupId> <Artifactid> Common-utils </lefactive> <version> 1.0-snapshot </ version> </dependency> </dependces> <fuild> <! - Configuration des plugins -> <lagin> <proupId> org.apache.tomcat.maven </proncID> <ArtefactId> Tomcat7-Maven-Plugin </refactive> <Fonfitial> <port> 8080 </port> <atath> / </path> </FIGIGRURAGE> </gingin> </ / Plugins> </ Build> </randing>
Créez des sous-modules tels que Taotao-Manager-Pojo, Mapper, Service, Web, etc., comme suit:
Cliquez avec le bouton droit sur Taotao-Manager, sélectionnez nouveau, module,
Remarque Dans cette étape, contrairement à la création d'Utils communs, il s'agit d'ajouter ses sous-modules au répertoire Taotao-Manager:
La configuration pertinente de Maven, gardez la valeur par défaut:
Faites simplement attention au répertoire où se trouve le sous-module:
Créer d'autres sous-modules sous Taotao-Manager
Lorsque nous avons mentionné ci-dessus, nous créons le sous-module Taotao-Manager-Pojo. Les trois autres sous-modules sont créés de manière similaire à eux, avec une petite différence. Lors de la création du sous-module Taotao-Manager-Web, le type du projet Maven est sélectionné comme suit:
Modifier le fichier POM du sous-module
Les méthodes emballées de sous-modules Pojo, Mapper et Service sont tous des pots, et seuls les sous-modules Web sont emballés sous forme de packages de guerre.
Le sous-module Pojo, pom.xml est le suivant:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactive> taotaoo-manager </ artifactid> <proupId> cn.william </ grouped> <version> 1.0-snapshot </DERNION> </parent> <modelversion> 4.0.0 </ Modelversion> <ArtefactId> Taotao-Manager-Pojo </lefactive> <packaging> jar </packaging> <name> taotao-manager-pojo </name> <url> http://maven.apache.org </url> <properties> <Projed.build.sourceCcoding> utf-8 </project. </properties> </ project>
Le sous-module de mappeur dépend du sous-module Pojo. Les détails de pom.xml sont les suivants:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactive> taotaoo-manager </ artifactid> <proupId> cn.william </ grouped> <version> 1.0-snapshot </DERNION> </parent> <modelversion> 4.0.0 </ Modelversion> <artifactId>taotao-manager-mapper</artifactId> <packaging>jar</packaging> <name>taotao-manager-mapper</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- Dependency and pojo submodule--> <dependency> <groupId>cn.william</groupId> <artifactId>taotao-manager-pojo</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <ArtefactId> Mybatis </ artifactid> </ dépendance> <dependency> <proupId> org.mybatis </rombasid> <ptefactive> Mybatis-Spring </letemid> </pedency> <petendency> <proupId> com.github.miememedev </prounid> <eritency> mybatis-paginator </ artiford> </pretifactid> mybatis-paginator </ artifact> </pretifactid> mybatis-paginator </ artiford> </preentency> <dependency> <proupId> com.github.pagehelper </prouvenid> <artifactId> PageHelper </ Artifactid> </Dependency> <! - MySql -> <Dedency> <ProupID> MySQL </proupId> <Artifactid> MySQL-Connector-Java </letifActid> </Dependency> <! - <GroupId> com.alibaba </rom grouped> <ArtefactId> Druid </ artifactId> </Dependency> </Dependance> </rands>
Le sous-module de service dépend du sous-module de mappeur, et les détails POM.xml sont les suivants:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <parent> <artifactive> taotaoo-manager </ artifactid> <proupId> cn.william </ grouped> <version> 1.0-snapshot </DERNION> </parent> <modelversion> 4.0.0 </ Modelversion> <ArtefactId> Taotao-Manager-Service </ ArfactId> <Packaging> Jar </packaging> <name> taotaoo-manager-service </name> <url> http://maven.apache.org </url> <properties> <Project.build.sourceencoming> utf-8 </pro-Project.build.sourceCcoding> utf-8 </properfise.build.sourceCcoding> </properties> <dépendances> <! - Dépendances et sous-modules de mappeur -> <dependency> <proupId> cn.william </rompuprid> <letifactive> taotao-manager-mapper </ artifactid> <version> 1.0-snapshot </ version> </dependency> <! - Spring -> <dependency> <proupId> Org.springworkwork </ GroupId> <ArtefactId> Spring-Context </ ArfactId> </Dependency> <Dependency> <GroupId> org.SpringFramework </rompuprid> <ArtifActid> Spring-Beans </ Artifactid> </ Dependency> ... (omis) </Detendances> </rands>
Le sous-module Web dépend du sous-module Service, les détails POM.xml sont les suivants:
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <parent> <artifactive> taotao-manager </ ArtifactId> <ProupID> CN.William </ GroupId> <Dersion> 1.0-Snapshot </DERNION> </parent> <Modelversion> 4.0.0 </ Modelversion> <ArtefactId> TAOTAO-MANGER-WEB </ ArfactId> <Packaging> War </ Packaging> <! - Part Into War Package -> <name> Taotaoo-Manager-Web Maven Webapp </name> <url> http://maven.apache.org </url> <dépendance> <! - Dépendance sur le service -> <dépendance> <GroupId> CN.William </rom grouped> <ErtifactId> Taotao-Manager-Service </ ArtifactId> <Dersion> 1.0-Snapshot </DERNIFRÉSE> </DENDENCENCE> ... (OMMITS) </FINENCES> <DUIGM> <FINALNAME> TAOTAOO-MANGER-WEB </INALNAME> </DUCILD> </PREST>
Créer index.jsp
À ce stade, la création du projet est terminée. Nous pouvons créer index.jsp dans le répertoire WebApp de Taotao-Manager-Web. Les détails sont les suivants:
Utilisation du plugin Tomcat
Nous utilisons le plugin Tomcat de Maven pour exécuter le projet. Avant cela, assurez-vous de configurer le plugin Tomcat dans le fichier POM du Taotao-Manager:
... (omis) <Duild> <! - Plugin de configuration -> <plugin> <proupId> org.apache.tomcat.maven </prôdId> <Artifactid> Tomcat7-Maven-Plugin </ ArtifactId> <Fonfitring> <port> 8080 </port> <atath> / </path> </FIGIGURATION> </GLIGIN>
Configurer le plugin Maven Tomcat pour exécuter des projets Web
(1) Ajouter une nouvelle configuration
(2) Cliquez sur Exécuter ou cliquez sur le débogage à côté
(3) Erreur de problème
Une erreur s'est produite, ce qui peut être que le parent commun et les utilisateurs communs n'ont pas été installés dans le référentiel local. L'erreur s'est produite est que le package JAR Common-Utitil ne peut être trouvé, nous devons donc l'installer.
En attendant d'installer le package JAR sur le référentiel local, il est un peu lent, peut-être, soyez patient, attendez. . .
Une fois l'installation terminée, exécutez à nouveau et les informations suivantes semblent prouver que l'opération est réussie:
Accès via le navigateur:
À ce stade, notre environnement de projet a été construit avec succès et la prochaine étape est le développement réel du projet.
déclaration:
① En ce qui concerne la partie omise dans le code ci-dessus, c'est parce que le contenu est trop long, il est donc omis. Si vous souhaitez consulter le projet terminé, veuillez vérifier mon github, adresse:
https://github.com/williamhappy/tao-shopping-mall
② Veuillez reconnaître toutes les lacunes ci-dessus. Après tout, ma technologie est limitée et je suis également au stade d'apprentissage. Je peux également donner des opinions raisonnables et les améliorer ensemble.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.