Maven聚合工程优点
Maven的聚合工程就是在一个父模块的Pom.xml文件中引入所有工程需要的Maven依赖,在不同的子模块的Pom.xml中就可以直接继承父类中存在的Maven依赖而不需要重新引入。这样符合模块化开发的要求,更容易管理各个模块的Maven依赖,可以避免重复使得项目更加安全。
Maven聚合工程实例
创建一个聚合项目包含三个模块:父模块、Spark-core模块、Spark-Common模块。
父模块
1.创建Spark父项目
2.指定Maven坐标
3.指定项目存储位置
4.修改Packaging方式
5.添加Maven引用
<properties>
<spark.version>2.2.2</spark.version>
<scala.version>2.11.8</scala.version>
<hadoop.version>2.7.7</hadoop.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
子模块
core子模块
1.右键父项目,构建module
2.指定maven构建方式
3.指定坐标——artifactId
4.该模块存放的位置
5.将项目设置为scala项目
6.在子模块的pom.xml中添加需要的依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</dependency>
</dependencies>