Maven使用

1 Maven坐标

1.1 本项目的坐标

  • groupId:  必须。项目组名称,定义当前Maven项目所隶属的实际项目,通常与域名反向一一对应,与Java包名表示方式类似
  • artifactId:  必须。项目名称
  • version:   必须。版本
  • packaging:  (可选,没写则为jar)。打包方式,jar、war等
  • classifier   (不能直接定义)。帮助定义构建输出的附属构件

 

1.2 项目的依赖的坐标

Maven使用_第1张图片

  • groupId:  必须。依赖的组名称
  • artifactId:  必须。依赖的工程名称
  • version:   必须。版本
  • type:    (可选,没写则为jar),该依赖的类型
  • scope   (可选,没写则为compile),依赖的范围:compile、test、provided、runtime、system、import,用来控制在 编译classpath、测试classpath、运行classpath 三种classpath中依赖是否起作用

 

  • optional  (可选,没写则为必选)标记依赖是否可选,一般不用,因为按面向对象设计单一职责原则,一个类应只有一个职责而非糅合太多功能。
  • exclusions (可选),用来排除依赖的传递性。只需要指定 groupIdartifactId

 

2 Maven命令

  • mvn clean    删除target文件夹(清除编译出的类)
  • mvn compile    编译类到target文件夹下
  • mvn test      运行单元测试
  • mvn package    打包(生成的包在本工程内)
  • mvn install     安装(将包安装到本地maven仓库中,供其他项目使用)

    执行test   会自动先调用compile

    执行package 会自动先调用test

    执行install  会自动先调用package

  • mvn dependency list  列出已解析依赖(Resolved Dependency)
  • mvn dependency list  列出依赖树
  • mvn dependency analyze  依赖分析(分析编译主代码和测试代码需要的依赖,不会分析执行测试和运行时所需的依赖),会列出 未声明但使用了的依赖(Unused declared dependencies)、已声明但未使用的依赖(Used undeclared dependencies)

你可能感兴趣的:(Maven使用)