Skip to content

基础

Maven是一款用于管理和构建Java项目的工具,是apache下的一个开源项目 0891244da4cc7821faa0d3e401e8da1b_MD5

依赖管理

535751c4d8cbb61d1ff7d547b128cbbb_MD5 我们不再需要通过下载jar包放到lib目录下了,而是直接通过配置来处理. maven会自动联网下载并导入. 1e635ded00205b5028833aa6c22f9e9d_MD5

  • 配置文件是pom.xml

项目构建

3b9ea3ca193842e4926c7201e35e3487_MD5 可以直接通过指令来处理这四个过程. cceb164b8cf7c7a833071ce883a7d455_MD5 也可以直接双击. 双击compile之后,就能出现可执行的class文件: 873e52bde4c4e2f9263a0fddefe45c22_MD5 打包: 347d0b55fc91d32474af9b93e2c08208_MD5

同一结构

617df103b1372e94bc3300b60f73ab15_MD5 858ec084373904917a2196a87d8816e0_MD5 src/*/resource:配置文件 f27ffdc8aa065c62f3a94eba8d156dcf_MD5

maven核心

975cfb13e775b27cd659ead9a551cabc_MD5 即:把项目也视为对象. 368f6a19e6a6a3823d8b4526ae90089f_MD5 也就是说,编译/打包/测试,都是基于底层的插件进行的. 插件会产生一些临时文件,全部在/target下.

结构

055aa8e2ea5ebe54ad5640ad25aba80c_MD5 groupID:组织名,一般是域名反写. 其余是项目名字,版本 2e0d8f85c90bb3d5a1ea0fa00a2c8df7_MD5 编译器版本,运行jreb版本,字符集 02e21f2c6b6c037fae02d44a21cf52a5_MD5 先查本地仓库,再查中央仓库(全球维护的)/私服(又叫远程仓库,自己所在公司/组织维护的) 私服本身也可能从中央仓库pull.

安装

03547a5e8d990aec8738afb82d7ffeac_MD5 tip:maven本身就是java开发的. 记得创建本地仓库: 7817c2cabed7a5a3933cea735f4244d1_MD5 /conf/setting.xml里加一句: fd591c03cf94b3697c96fcd722b2420b_MD5 配置镜像源: f877418bf0f1c1bd066c511e73705684_MD5 环境变量: 配一下MAVEN_HOME和path(path添加%MAVEN_HOME%\bin)

IDEA集成

注意,下面的配置要关闭项目,否则配置的只是项目设置,而不是全局设置 4ed01db358d12e197313f0a9d38096d2_MD5 904198077e4519698a4400b7caa88a40_MD5 a5c4c1ef467f5874611f54ac98812812_MD5 这样,我们创建项目时,就可以使用maven了.我们可以: 5390540add65525b5744935a2fd5fd41_MD5

maven 坐标

48bb2907da95d83fc4eaf213ce82e272_MD5 fc4d898b451f9d3775f8403751a493a6_MD5 84dc4126f566b243f62926f22141d2d0_MD5 8178cea32210dd0600a73488c03856cb_MD5

导入项目

6405d55bc67f247318ab9f8fb639501e_MD5 注意,建议:这时请先把要导入项目放到当前项目平级的目录结构上. 导入项目时点击xml而不是文件夹,这样有利于后面的继承聚合. 63f1c11ca4df6b8063a055a2c4583491_MD5

依赖配置

3c490cf6bcd7b19ce5a50dca03aedf95_MD5 这里要点击更新,否则只会在本地仓库找. 7288ac63ca931c7bd15b9267d4dc9b00_MD5 会发现把依赖的依赖也加进来了: 72c6e81cbdf6a3f51a364470a4dbf2aa_MD5 这个便是依赖传递. 如果我不需要传递下来的某个依赖,那么是可以把它排除出去的. 390caa880676daeb5d62338fa62c14fa_MD5 f92e3304c94fcf44233b162bf603dff6_MD5 e1ff89290a5ad7d37579f1d85e694d52_MD5 我们只关注5个: 5956e7ac0059e3f31abf515efaaa43b6_MD5 85614a826593e2ee54870b13ffe02060_MD5 强调,必须是同一套.如:我们compile,会执行validate,但是不会clean.因为clean是另外一套生命周期的. 执行package,就会执行validate-compile-test 94a431cb57e2daf05e15b910e7f94802_MD5 所谓clean,就是把target目录删了. 打包package:就是生成jar包. install:放到本地仓库.只需要在本地仓库里找cn/iamwsll即可.

常见问题

有时候依赖总是有问题,刷新也没用.那么我们就需要 e468e02810b4981c9812ec9931465913_MD5