Utilice proyecto Maven para crear un único tiempo de polimerización es por lo general menor que el proyecto, el proyecto para crear una nube de resorte, debido a la siguiente es una un micro servicios, cada uno correspondiente a un proyecto, que requiere el uso de proyecto polimérico, y la dependencia del proyecto en la conveniencia la relación entre la gestión, utilización idea de crear un proyecto Maven.
Proyecto Maven
La creación de un padre Maven Proyecto
Archivo - Nuevo - Proyecto
Nombre - maven GAV - Siguiente
Maven Inicio - anulan la configuración del archivo - Finalizar
Una vez creado, todo el directorio src en el marco del proyecto de borrar los padres, el proyecto principal sin codificación, dejando sólo una gestión de archivos depende del pom, seleccione Activar la importación automática
Parent Project introducción pom-dependiente
Añadir en el archivo pom dependiente relevante
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>springcloud</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<name>spring cloud</name>
<description>spring cloud study</description>
<!--统一配置管理-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mybatis.version>1.3.2</mybatis.version>
<druid.version>1.1.10</druid.version>
<spring.boot.version>2.2.5.RELEASE</spring.boot.version>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<!--Spring Cloud Hoxton.SR3-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--Mybatis 1.3.2-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!--MySQL 8.0.18-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<!--Druid 1.1.10-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.3.RELEASE</version>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
<dependencyManagement/>
Y <pluginManagement/>
el papel de la gestión de la configuración unificada, módulo pública sub-proyectos han de ser introducidas pueden declarar y configurar la versión en el proyecto principal, pero subproyectos también es necesario hacer referencia explícita a la dependencia apropiada, pero ya no se introdujo <version/>
, si hay una versión específica de las necesidades de los subproyectos versión reasignar.
Se crea proyecto principal del Proyecto Cohesión.
Módulo Maven
Crear sub Maven Módulo
Parent Project springcloud derecho, Nueva - Modul - Maven - Siguiente
Padres - Nombre - VAB Maven - Finalizar
estructura de directorios creada nube-cuenta, introducido en el dependientes respectivas en el pom
sub dependiente Presentación de pom Módulo
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.cloud</groupId>
<artifactId>springcloud</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>cloud-order</artifactId>
<name>cloud-order</name>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--eureka client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--devtools-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!--commons-->
<dependency>
<groupId>com.cloud</groupId>
<artifactId>cloud-commons</artifactId>
<version>1.0</version>
</dependency>
<!--jdbc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Una vez created'll hallazgo en el archivo pom padres, añada automáticamente un módulo de la nube de orden
<modules>
<module>cloud-order</module>
</modules>
Módulo y el niño se mostrarán correspondiente a la matriz
<parent>
<artifactId>springcloud</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
Si hay otro módulo, puede seguir añadiendo de esta manera.
resumen:
- polimerización proyecto experto, que es una relación de agregación dependencias
- Tipo de proyecto principal es pom, tarro subproyecto o de guerra, si las siguientes sub-proyectos siguen teniendo sub-proyectos, sub-proyectos, sino también para el tipo POM
- El experto en la herencia, única relación lógica entre padres e hijos, proyecto polimérico no sólo contiene la lógica, el proyecto principal incluirá subproyectos reales
- módulos proyecto principal especificados por sub-módulos, submódulos indican relaciones de herencia a través de los padres