1.开发环境准备
2.maven的使用
maven主要用于项目的构建,依赖管理,项目管理 手动创建项目目录 创建pom 编写测试代码 使用
maven命令测试
常用命令
编译源代码mvn compile编译
编译测试代码mvn test-compile
运行测试 mvn test
打包mvn package
在本地仓库中安装jar mvn install
清除产生的项目target mvn clean
mavben依赖树 maven dependency:tree
打包的时候规律
test mvn clean package -Pdev -Dmaven.test.skip=true mvn -U clean package -Pbetamagic -Dmaven.test.skip=false -DskipTest enforcer:enforce dependency:tree -Dverbose
maven的生命周期
clean lifecycle default
生命周期 pre-resources compile test-compile test
执行test d package install deploy pom文件简介检查项
1:使用qunar super pom qunar.commom qunar-supim-generic> 1.3.2 3.maven规范 1.通过version占位符,把多个相同框架下的jar统一管理
2.在继承的pom里面统一修改pom里面的配置 profile,针对不同环境提供不同的配置文件 local dev beta prod beta-press压力测试需要配置特殊的数据库配置 版本的定义 gnu方案 主版本.次版本.增量版本.里程碑版本 主版本:重大架构变更 次版本:较大范围 快照版本 开发过程中,jar包需要持续更新,为了不频繁修改version编号,快照版本应运而生 maven在编译的时候,会按照一定策略拉取最新的快照版本 快照版本不稳定,不能应用于线上 版本维护中出现的问题 快照版本相互覆盖 并行开发时,要根据发布顺序来提前分配版本号 一旦某个分支dely,而后面的分支发布上线了,,只需要 分支号+snapshot maven依赖冲突 mavnen2.0引入了传递性依赖 传递性依赖导致了依赖冲突 maven自身调节 最短路径优先,第一声明优先;,强制显式处理依赖冲突 jar包版本冲突 尽量使用更高的版本 尽量使用已知最稳定的版本 不要exclude,除非理由充分 duplicated classes 一般解法就是exclude掉某个jar hadoop生态里面的jar包,可以申请检查的白名单 mvn dependency clean pre-clean clean post-clean default compile test package install deploy