当前位置 : 主页 > 编程语言 > java >

Maven 入门教程

来源:互联网 收集:自由互联 发布时间:2022-10-15
下载安装 官网:​​maven.apache.org/​​ 下载地址:​​maven.apache.org/download.cg…​​ 环境变量配置 依赖 Java,需要配置 JAVA_HOME 配置 MAVEN_HOME 测试:​​mvn​​ 配置 更改本地仓库位置

下载安装

  • 官网:​​maven.apache.org/​​
  • 下载地址:​​maven.apache.org/download.cg…​​

环境变量配置

  • 依赖 Java,需要配置 JAVA_HOME
  • 配置 MAVEN_HOME
  • 测试:​​mvn​​

配置

更改本地仓库位置

  • ​settings.xml​
<localRepository>仓库位置</localRepository>

镜像仓库配置

  • ​setting.xml​
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>

Maven 命令

  • 编译命令:​​mvn compile​​
  • 清理命令:​​mvn clean​​
  • 测试命令:​​mvn test​​
  • 打包命令:​​mvn package​​
  • 安装到本地仓库:​​mvn install​​

Maven 工程

插件创建工程

  • 创建工程
mvn archetype:gengrate
-DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
  • 创建 Java 工程
mvn archetype:generate -DgroupId=com.ruochen -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false
  • 创建 web 工程
mvn archetype:generate -DgroupId=com.ruochen -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false

IDEA 创建 Maven 工程

  • 创建一个 Empty Project
  • 在 settings 中修改为自己的路径
  • Maven 入门教程_maven


  • 创建一个 maven module
  • Maven 入门教程_生命周期_02


Maven 入门教程_生命周期_03

Maven 入门教程_maven_04

骨架创建 Maven 工程

  • new module
  • Maven 入门教程_生命周期_05


Web 工程

  • new module
  • Maven 入门教程_java_06


依赖管理

  • 依赖传递
  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
  • 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
  • 依赖传递冲突问题
  • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
  • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
  • 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
  • 依赖范围
  • Maven 入门教程_java_07


  • 依赖范围传递性
  • Maven 入门教程_生命周期_08


生命周期与插件

构建项目生命周期

Maven 入门教程_maven_09

  • clean:清理工作
  • pre-clean:执行一些需要在clean之前完成的工作
  • clean:移除所有上一次构建生成的文件
  • post-clean:执行一些需要在clean之后立刻完成的工作
  • default:核心工作,例如编译、测试、打包、部署等
  • Maven 入门教程_java_10


  • site:产生报告,发布站点等
  • Maven 入门教程_maven_11


插件

  • 插件与生命周期内的阶段绑定,在执行到对应的生命周期时执行对应的插件功能
  • 默认maven在各个生命周期上绑有预设的功能
  • 通过插件可以自定义其他功能
  • eg
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
上一篇:LinkedList源码分析(二)
下一篇:没有了
网友评论