maven约定的目录结构

  1. 约定是大家都遵循的一个规则
  2. 每一个maven项目在磁盘中都是一个文件夹(项目-Hello
  3. Hello/
  4. ---/src
  5. ------/main #放你的主程序java代码和配置文件
  6. ----------/java #你的程序包和包中的java文件
  7. ---------/resources #你的java程序中要使用的配置文件
  8. ------/test #放你的测试代码和文件(可以没有)
  9. ----------/java #测试程序包和包中的java文件
  10. ---------/resources #测试java程序中要使用的配置文件
  11. ---/pom.xml #maven的核心文件(maven项目必须有)

对于某个依赖,Maven只需要3个变量即可唯一确定某个jar包:

groupId:属于组织的名称,类似Java的包名;
artifactId:该jar包自身的名称,类似Java的类名;
version:该jar包的版本。

image.png

在实际开发过程中,经常使用的命令有:
mvn clean:清理所有生成的class和jar;
mvn clean compile:先清理,再执行到compile;//编译
mvn clean test:先清理,再执行到test,因为执行test前必须执行compile,所以这里不必指定compile;
mvn clean package:先清理,再执行到package。//打包
lifecycle相当于Java的package,它包含一个或多个phase;
phase相当于Java的class,它包含一个或多个goal;
goal相当于class的method,它其实才是真正干活的。
通常情况,我们总是执行phase默认绑定的goal,因此不必指定goal。

常用插件
maven-shade-plugin:打包所有依赖包并生成可执行jar;
cobertura-maven-plugin:生成单元测试覆盖率报告;
findbugs-maven-plugin:对Java源码进行静态分析以找出潜在问题。
Maven支持模块化管理,可以把一个大项目拆成几个模块:
可以通过继承在parent的pom.xml统一定义重复配置;
可以通过modules编译多个模块。
设置本机存放资源的目录位置:
1.修改maven的配置文件,maven安装目录/conf/settings.xml
先备份
2.修改 localRepository指定你的目录(不要使用中文目录)