Maven-SSM 分模块整合

Maven-parent

<?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>maven-01-parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  //打包方式pom
  <packaging>pom</packaging>
  <!--父工程管理模块,导入子工程-->
  <modules>
      <module>../maven-02-config</module>
      <module>../maven-03-domain</module>
      <module>../maven-04-dao</module>
      <module>../maven-05-service</module>
      <module>../maven-06-exception</module>
      <module>../maven-07-controller</module>
  </modules>
  <!--管理版本version-->
  <properties>
      <spring.version>5.2.10.RELEASE</spring.version>
      <mybatis.version>3.5.9</mybatis.version>
      <mysql-connector-java.version>5.1.45</mysql-connector-java.version>
      <mybatis-spring.version>1.3.0</mybatis-spring.version>
      <javax.servlet-api.version>3.0.1</javax.servlet-api.version>
      <jackson-databind.version>2.9.0</jackson-databind.version>
      <druid.version>1.1.12</druid.version>
      <junit.version>4.12</junit.version>
<!--       <jdbc.url>jdbc:mysql://localhost:3306/ssm_db?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</jdbc.url>-->
  </properties>
  <!--多环境开发:开发环境,生产环境,测试环境-->
  <profiles>
      <!--定义具体的环境,开发环境-->
      <profile>
          <!--定义环境的唯一名称-->
          <id>env_dep</id>
          <!--定义环境中专用的属性值-->
          <properties>
              <jdbc.url>jdbc:mysql://localhost:3306/ssm_db?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</jdbc.url>
          </properties>
          <!--设置默认是开启,true则会启用-->
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
      </profile>
      <!--生产环境-->
      <profile>
          <id>env_pro</id>
          <properties>
              <jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
          </properties>
          <activation>
              <activeByDefault>false</activeByDefault>
          </activation>
      </profile>
      <!--测试环境-->
      <profile>
          <id>env_test</id>
          <properties>
              <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
          </properties>
      </profile>

  </profiles>

  <dependencies>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <!--整合mybatis-->
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${mybatis.version}</version>
      </dependency>
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql-connector-java.version}</version>
      </dependency>

      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>${mybatis-spring.version}</version>
      </dependency>

      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${spring.version}</version>
      </dependency>
      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>${javax.servlet-api.version}</version>
          <scope>provided</scope>
      </dependency>
      <!--json-->
      <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>${jackson-databind.version}</version>
      </dependency>

      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
      </dependency>
  </dependencies>
   
  <!--子工程可选的依赖,不一定要继承-->
  <dependencyManagement>
      <dependencies>
          <!--整合测试-->
          <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>${junit.version}</version>
              <scope>test</scope>
          </dependency>
          <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>druid</artifactId>
              <version>${druid.version}</version>
          </dependency>
      </dependencies>
  </dependencyManagement>
  <!--配置资源读取-->
  <build>
      <resources>
          <resource>
              <directory>${project.basedir}/src/main/resources</directory>
              <filtering>true</filtering>
          </resource>
      </resources>
      <plugins>
          <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.12.4</version>
              <configuration>
                  <skipTests>false</skipTests>
                  <excludes>
                      <exclude>**/BookServiceTest.java</exclude>
                  </excludes>
              </configuration>
          </plugin>
      </plugins>
  </build>

  <!--发布管理-->
  <!-- <distributionManagement>
      <repository>
          <id>私服名</id>
          <url>私服的仓库路径</url>
      </repository>
      <snapshotRepository>
          <id></id>
          <url></url>
      </snapshotRepository>
  </distributionManagement>-->

</project>

继承父类

<!--继承于父工程-->
  <parent>
      <groupId>org.example</groupId>
      <artifactId>maven-01-parent</artifactId>
      <version>1.0-SNAPSHOT</version>
      //指定父工程的位置
      <relativePath>../maven-01-parent/pom.xml</relativePath>
  </parent>