苏ICP备网站建设中企动力无锡,养殖类网站模板,珠海营销型网站,企业网站模板psd1、Maven有哪些优点和缺点
优点#xff1a; 1、简化项目依赖管理 2、方便与持续集成工具(Jenkins)整合 3、有助于多模块项目开发#xff0c;比如一个模块开发好后发布到仓库#xff0c;依赖该模块时可以直接从远程仓库更新#xff0c;不用自己手动去编译 4、有很多插件 1、简化项目依赖管理 2、方便与持续集成工具(Jenkins)整合 3、有助于多模块项目开发比如一个模块开发好后发布到仓库依赖该模块时可以直接从远程仓库更新不用自己手动去编译 4、有很多插件便于扩展比如生产站点自动发布版本 缺点 1、maven是个庞大的工具学习成本大 2、maven采用约定大于配置的策略出现问题很难调试 3、当依赖很多时m2仓库会使开发工具变卡
2、Maven的生命周期
maven有三大生命周期分别为 1、clean 周期主要用于清理上一次构建产生的文件可以理解为删除target目录 2、默认周期 主要阶段包含: 1process-resources 默认处理src/test/resources/下的文件将其输出到src的classpath目录中 2compile 编译src/main/java下的java文件产生对应的class 3process-test-resources 默认处理src/test/resources/下的文件将其输出到测试的classpath目录中 4test-compile 编译src/test/java下的java文件产生对应的class 5test 运行测试用例 6package 打包构件即生成对应的jar, war等 7install将构件部署到本地仓库 8deploy 部署构件到远程仓库 3、site周期 主要阶段包含 site 产生项目的站点文档 site-deploy 将项目的站点文档部署到服务器 3、Maven常见的依赖范围
compile 默认范围用于编译provided类似于编译但支持你期待jdk或者容器提供类似于classpathruntime: 在执行时需要使用test: 用于test任务时使用system:需要外在提供相应的元素。通过systemPath来取得systemPath: 仅用于范围为system。提供相应的路径optional: 当项目自身被依赖时标注依赖是否传递。用于连续依赖时使用
4、多模块如何聚合
配置一个打包类型为pom的聚合模块然后在该pom中使用元素声明要聚合的模块
5、多模块项目如何管理项目依赖的版本
通过在父模块中声明dependencyManagement和pluginManagement 然后让子模块通过元素指定父模块这样子模块在定义依赖是就可以只定义groupId和artifactId自动使用父模块的version,这样统一整个项目的依赖的版本
6、如何保证项目传递依赖不会引起版本冲突
使用的元素将会引起冲突的元素排除