Dado que recientemente he aprendido el desarrollo de un proyecto distribuido, hablaré sobre el desarrollo real del uso de la idea IntelliJ para crear proyectos de múltiples módulos basados en Maven. Puede haber aspectos inapropiados, pero el proyecto se puede ejecutar. Por favor, presente todas las deficiencias y discúdalas juntas.
Primero, mostremos el directorio del proyecto del proyecto final:
Una breve introducción a la estructura del directorio:
common-parent es el proyecto principal de todos los proyectos, que se utiliza principalmente para administrar los paquetes JAR y sus versiones utilizadas por todos los proyectos.
common-utils es un proyecto público de clase de herramientas, heredando el proyecto matriz, y se etiquetará como un paquete JAR para usar por otros proyectos.
taotao-manager es un proyecto que hereda de nuestro proyecto matriz.
taotao-manager-pojo es un submódulo de nuestro propio proyecto, que depende de Taotao-Manager y se divide en paquetes JAR.
taotao-manager-mapper es un submódulo de nuestro propio proyecto, y depende de Taotao-Manager-Pojo y se divide en paquetes JAR.
taotao-manager-service es un submódulo de nuestro propio proyecto, y depende de Taotao-Manager-Mapper y se convierte en un paquete JAR.
taotao-manager-web es un submódulo de nuestro propio proyecto, y depende de Taotao-Manager-Service y se combina en un paquete de guerra.
Las siguientes son las operaciones específicas:
1. Primero abra la idea de IntelliJ y siga los pasos a continuación:
O abrir la idea por primera vez,
2. Vaya al directorio de creación y seleccione el proyecto vacío, Siguiente
3. Vaya a la página del nuevo proyecto, complete el nombre del proyecto, seleccione la ubicación del proyecto y haga clic en Finalizar
Espere a que se cargue la idea y continúe con el siguiente paso
4. Seleccione Archivo> Nuevo> Módulo e ingrese la página del nuevo módulo:
5. En la página del nuevo módulo, siga los pasos a continuación:
6. Complete el nombre de la organización y el nombre del proyecto, así como el número de versión
7. Configure los archivos de configuración del repositorio Maven Local Directorio y Maven
8. El último paso para crear el proyecto principal, nombrar el módulo, seleccionar el directorio de trabajo y seleccionar Complete
Espere la generación del archivo POM, tenga en cuenta que el método de embalaje se modificará como POM. Modifique el archivo de POM de la siguiente manera: (dado que el archivo POM es largo, solo se proporciona parte y se obtiene todos, preste atención a GitHub)
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <ModelVersion> 4.0.0 </modelversion> <MoupRupid> cn.william </groupid> <artifactid> común-parent </artifactid> <versión> 1.0-snapshot </versewers> <packaging> pomm </paquete> </martifactId </artifactid> <PONTROLE> 1.0-SNAPSHOT </versión> <Atagaging> pomm </paquete> <name> Common-Parent </name> <URL> http://maven.apache.org </sl> <!-Definición central del número de versión de dependencia-> <properties> <ject.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <unit.version> 4.12 </junit.version> (omitido) <SpendencyManagement> <Spendencies> <!-Componente de operación de tiempo-> <Spendency> <MoupRoMID> Joda Time </GroupId> <AtifactId> Joda Time </artifactId> <versión> $ {joda time.versionsion} </versión> </dependence> ... (omitido) </pendencyManagement> <17 build>> $ {Project.ArtifiCid} < <MoupRid> org.apache.maven.plugins </groupid> <artifactid> maven-compiler-plugin </arfactid> <version> 3.5.1 </version> <nutoration> <overeur> 1.8 </over> <target> 1.8 </target> <coding> utf-8 </coding> </figuration> </tugin> </complementos </plugins Primero, la clase de herramientas públicas se hereda del Proyecto principal Comunente Comunente.
Una cosa a tener en cuenta es que para que el proyecto aparezca como un submódulo (similar al desarrollo en Eclipse), hay un paso a tener en cuenta en la creación de usos comunes:
Preste especial atención al siguiente paso, este paso afectará la estructura del directorio.
También tenga en cuenta que el método del paquete del proyecto es JAR, que es diferente del proyecto principal.
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <Parent> <Sartifactid> Common-Parent </artifactid> <MoupRoupid> cn.william </proupid> <versión> 1.0-snapshot </ververse> <SlivePath> ../ Common-Parent/Pom.xml </relativepath <modelVersion> 4.0.0 </modelVersion> <ArfactId> Common-Utils </artifactid> <compainete> jar </paquete> <!-To Jar Package-> <name> Common-Utils </name> <url> http://maven.apache.org </ url> <Proteies> <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></project>
Cree un proyecto de desarrollo Taotao-Manager. Los pasos de creación son los mismos que anteriores. También hereda el padre común y modifica su archivo POM. Los detalles son los siguientes:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <Parent> <Sartifactid> Common-Parent </artifactid> <MoupRoupid> cn.william </proupid> <versión> 1.0-snapshot </ververse> <SlivePath> ../ Common-Parent/Pom.xml </relativepath <modelVersion> 4.0.0 </modelVersion> <AtifactId> taotao-manager </artifactid> <cackaging> pom </paquete> <name> taotao-manager </name> <url> http://maven.apache.org </url> <modules> <module> taotao-manager-pojo </module> <module> taotao-manager-mapper </module> <smodule> taotao-manager-service </module> <smodule> taotao-manager-web </module> </modules> <properties> <jection.build.sourceEncoding> Utf-8 </project.build.sourceenDing> </propiedades> <! Management-<! Dependency>! <MoupRid> cn.william </proupid> <artifactid> comunes-uTils </artifactid> <versión> 1.0-snapshot </verversion> </pendency> </dependencias> <construction> <!-Configuración de complementos-> <glugin> <proupid> org.apache.tomcat.maven </proupid> <AtifactId> TomCat7-Maven-Plugin </artifactid> <Configuration> <port> 8080 </port> <path>/</path> </figuration> </glugin> </glugins> </stract> </jection>
Cree submódulos como taotao-ganager-pojo, mapper, servicio, web, etc., de la siguiente manera:
Haga clic con el botón derecho en Taotao-Manager, seleccione nuevo, Módulo,
Nota En este paso que, a diferencia de la creación de usos comunes, es agregar sus submódulos al directorio Taotao-Manager:
La configuración relevante de Maven, mantenga el valor predeterminado:
Simplemente preste atención al directorio donde se encuentra el submódulo:
Crear otros submódulos bajo Taotao-Manager
Cuando mencionamos anteriormente, creamos el submódulo Taotao-Manager-Pojo. Los otros tres submódulos se crean de manera similar a ellos, con un poco de diferencia. Al crear el submódulo Taotao-Manager-Web, el tipo de proyecto Maven se selecciona de la siguiente manera:
Modificar el archivo POM del submódulo
Los métodos empaquetados de submódulos POJO, MAPPER y SERVICIO son todos frascos, y solo los submódulos web están empaquetados como paquetes de guerra.
El submódulo POJO, pom.xml es el siguiente:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <Parent> <Atifactid> taotao-manager </arfactid> <grupoid> cn.william </proupid> <versión> 1.0-snapshot </sions> </parent> <modelverversion> 4.0.0 </Modelversion> <Atifactid> taotao-manager-pojo </arfactid> <compackaging> jar </packaging> <name> taotao-ganager-pojo </name> <sl> http://maven.apache.org </sl> <properties> <ject.build.sourceEnding> utf-8 </project.build.sourceing> </propiedades> </ject>
El submódulo mapeador depende del submódulo POJO. Los detalles de pom.xml son los siguientes:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <Parent> <Atifactid> taotao-manager </arfactid> <grupoid> cn.william </proupid> <versión> 1.0-snapshot </sions> </parent> <modelverversion> 4.0.0 </Modelversion> <AtifactId> taotao-manager-mapper </artifactid> <compackaging> jar </packaging> <name> taotao-manager-mapper </name> <url> http://maven.apache.org </sl> <propiESS> <ject.Build.SourceEncoding> utf-8 </project.build.soureDing <Spendencies> <!-Submódulo de dependencia y POJO-> <Spendency> <MoupRoMID> CN.William </GroupId> <AtifactId> Taotao-Manager-Pojo </arfactiD> <PROPELESION> 1.0-SNAPSHOT </Version> </Dependency> <!-MyBatis-> <Efferency> <ProupId> org.mybatis </groupid> <AtifactId> myBatis </arfactid> </pendency> <epardency> <MoupRiD> org.mybatis </groupid> <artifactid> mybatis-spring </artifactid> </dependency> <pendency> <grupoD> com.github.miemiedev </groupid> <artifactid> mybatis-paginator </artidid> </arthid> </arthent> </arthent> </arthence> </arthence> </arthence> </arthent> </arthence> </arthent> </arthence> </arthent> </arthence> </arthent> </arthent> </arthent> </arthence> </arthent> </arthent> </arthence> </arthence> </arthent> </arthent> </arthence> </arthent> </sartid> <Spendency> <MoupRid> com.github.pagehelper </proupid> <artifactid> pageHelper </artifactid> </spendency> <!-mysql-> <pendency> <MoupRoid> mysql </groupId> <artifactid> mysql-connector-java </artifactid> <///dependency> <!-Conexy> <selfitence>> <spendinency>> <spendency>> <spendency>> <spendency>> <spendency>> <spendency> <MoupRid> com.alibaba </groupid> <artifactid> druid </artifactid> </pendency> </dependencias> </proyecto>
El submódulo del servicio depende del submódulo mapeador, y los detalles de pom.xml son los siguientes:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/xsd/maven-4.0.0.xsd "> <Parent> <Atifactid> taotao-manager </arfactid> <grupoid> cn.william </proupid> <versión> 1.0-snapshot </sions> </parent> <modelverversion> 4.0.0 </Modelversion> <artifactid> taotao-manager-service </artifactid> <packaging> jar </paquete> <name> taotao-manager-service </name> <url> http://maven.apache.org </sl> <propiESS> <Enect.Build.SourceEnding> utf-8 </project.build.soureDing <Spendencies> <!-Submódulos de dependencias y mapper-> <pendency> <MoupRid> cn.william </proupid> <artifactid> taotao-manager-mapper </artifactid> <version> 1.0-snapshot </verversion> </dependency> <!-primavera-> <pendency> <grupid> org.springframework </groupid> <AtifactId> Spring-Context </artifactid> </pendency> <pendency> <MoupRoD> org.springframework </groupid> <artifactid> spring-beans </artifactid> </pendency> ... (omitido) </pendencies> </proyecto>
El submódulo web depende del submódulo del servicio, los detalles de pom.xml son los siguientes:
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/maven-v4_0_0.xsd "> <Parent> <Atifactid> taotao-manager </arfactid> <grupoid> cn.william </proupid> <versión> 1.0-snapshot </loters> </rent> <modelversion> 4.0.0 </modeleversion> <artifactid> taotao-manager-web </artifactid> <packaging> war </ackaging> <!-Parte en el paquete de guerra-> <name> Taotao-Manager-Web Maven WebApp </name> <url> http://maven.apache.org </url> <pendencys> <! <MoupRid> cn.william </proupid> <artifactid> taotao-manager-service </artifactid> <verserse> 1.0-snapshot </versewers> </pendency> ... (omitido) </dependencias> <construcción> <finalname> taotao-manager-web </finalName> </build> </jection>
Crear index.jsp
En este punto, la creación del proyecto se ha completado. Podemos crear index.jsp en el directorio webapp de taotao-ganager-web. Los detalles son los siguientes:
Usando el complemento Tomcat
Utilizamos el complemento TomCat de Maven para ejecutar el proyecto. Antes de esto, asegúrese de configurar el complemento TomCat en el archivo POM del manager de Taotao:
... (omitido) <eded> <!-complemento de configuración-> <glugin> <groupid> org.apache.tomcat.maven </groupid> <artifactid> tomcat7-maven-plugin </arfactid> <figuration> <port> 8080 </port> <path>/</thath> </figuration> </glugin> </porturation> ...
Configurar el complemento Maven Tomcat para ejecutar proyectos web
(1) Agregar nueva configuración
(2) Haga clic en Ejecutar o haga clic en la depuración al lado
(3) Error en el problema
Se produjo un error, que puede ser que los usuarios comunes y comunes no se instalaron en el repositorio local. El error ocurrido es que no se puede encontrar el paquete jar de usos comunes, por lo que debemos instalarlo.
Esperando instalar el paquete JAR en el repositorio local, es un poco lento, tal vez, sea paciente, espere. . .
Después de completar la instalación, ejecute nuevamente y la siguiente información parece demostrar que la operación es exitosa:
Acceso a través del navegador:
En este punto, nuestro entorno de proyecto se ha construido con éxito, y el siguiente paso es el desarrollo real del proyecto.
declaración:
① Con respecto a la parte omitida en el código anterior, es porque el contenido es demasiado largo, por lo que se omite. Si desea ver el proyecto completado, consulte mi github, dirección:
https://github.com/williamhappy/tao-shopping-mall
② Por favor, reconozca las deficiencias anteriores. Después de todo, mi tecnología es limitada y también estoy en la etapa de aprendizaje. También puedo dar opiniones razonables y mejorarlas.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.