1.创建项目框架,确定父/子项目关系:
在MovieRecommendSystem的pom.xml 文件中加入元素 <packaging>pom</packaging>,然后新建一个 maven module 作为子项目,命名为 recommender。 同 样 的 , 再 以 recommender 为 父 项 目 , 在 它 的 pom.xml 中 加 入 <packing>pom</packaging>,然后新建一个 maven module 作为子项目。我们的第一 步是初始化业务数据,所以子项目命名为 DataLoader。 父项目只是为了规范化项目结构,方便依赖管理,本身是不需要代码实现的, 所以 MovieRecommendSystem 和 recommender 下的 src 文件夹都可以删掉。 目前的整体项目框架如下
2.在pom.xml.中声明项目中使用的工具的版本信息
我们整个项目需要用到多个工具,它们的不同版本可能会对程序运行造成影响, 所以应该在最外层的 MovieRecommendSystem 中声明所有子项目共用的版本信息。 在 pom.xml 中加入以下配置:
3.添加项目依赖
首先,对于整个项目而言,应该有同样的日志管理,我们在 MovieRecommendSystem 中引入公有依赖:![](/i/l/?n=22&i=blog/2986763/202211/2986763-20221114163814598-1858597986.png)
同样,对于 maven 项目的构建,可以引入公有的插件:
然后,在 recommender 模块中,我们可以为所有的推荐模块声明 spark 相关依 赖(这里的 dependencyManagement 表示仅声明相关信息,子项目如果依赖需要自行 引入):
![](/i/l/?n=22&i=blog/2986763/202211/2986763-20221114170123925-1910240639.png)
由于各推荐模块都是 scala 代码,还应该引入 scala-maven-plugin 插件,用于 scala 程序的编译。因为插件已经在父项目中声明,所以这里不需要再声明版本和具体配 置:
![](/i/l/?n=22&i=blog/2986763/202211/2986763-20221114170140931-1727308710.png)
对于具体的 DataLoader 子项目,需要 spark 相关组件,还需要 mongodb、elastic search 的相关依赖,我们在 pom.xml 文件中引入所有依赖(在父项目中已声明的不 需要再加详细信息):
标签:xml,依赖,项目,版本信息,pom,-----,子项目,声明 From: https://www.cnblogs.com/slowlydance2me/p/16889738.html