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