Maven配置

Maven配置

Maven简介

Maven是专门为Java项目打造的管理和构建工具

项目结构

Maven配置_第1张图片

依赖管理

项目添加依赖时,pom.xml中添加如下内容即可引入对应commons-logging包

<dependency>
    <groupId>commons-logginggroupId>
    <artifactId>commons-loggingartifactId>
    <version>1.2version>
dependency>
  • groupId:属于组织的名称,类似Java的包名;
  • artifactId:该jar包自身的名称,类似Java的类名;
  • version:该jar包的版本。

可从如下网站搜索依赖包信息,复制包定位信息

网站:https://search.maven.org/

Maven配置_第2张图片

依赖关系

Maven定义了几种依赖关系,分别是compiletestruntimeprovided

scope 说明 示例
compile 编译时需要用到该jar包(默认) commons-logging
test 编译Test时需要用到该jar包 junit
runtime 编译时不需要,但运行时需要用到 mysql
provided 编译时需要用到,但运行时由JDK或某个服务器提供 servlet-api

其中,默认的compile是最常用的,Maven会把这种类型的依赖直接放入classpath

构建流程

Maven的生命周期(Lifecycle)由一系列阶段(phase)构成,以内置的生命周期default为例,它包含以下phase:

  • validate
  • initialize
  • generate-sources
  • process-sources
  • generate-resources
  • process-resources
  • compile
  • process-classes
  • generate-test-sources
  • process-test-sources
  • generate-test-resources
  • process-test-resources
  • test-compile
  • process-test-classes
  • test
  • prepare-package
  • package
  • pre-integration-test
  • integration-test
  • post-integration-test
  • verify
  • install
  • deploy

运行mvn package时,会执行validate—>package阶段

运行mvn compile时,会执行validate—>compile阶段

Maven另一个常用的生命周期是clean,它会执行3个phase:

  • pre-clean
  • clean (注意这个clean不是lifecycle而是phase)
  • post-clean

经常用到的phase如下:

  • clean:清理
  • compile:编译
  • test:运行测试
  • package:打包

执行一个phase又会触发一个或多个goal:

执行的Phase 对应执行的Goal
compile compiler:compile
test compiler:testCompile surefire:test

goal的命名总是abc:xyz这种形式。

Maven安装

官方网站:Maven – Welcome to Apache Maven

  1. 下载后本地解压

  2. 修改原有配置

    • 使用aliyun镜像

      修改apache-maven-3.3.9\conf\setting.xml文件

      <mirror>
          <id>nexus-aliyunid>
          <mirrorOf>*,!jeecg,!jeecg-snapshotsmirrorOf>
          <name>Nexus aliyunname>
          <url>https://maven.aliyun.com/nexus/content/groups/public url>
      mirror>
      

      或者

      <mirrors>
          <mirror>
              <id>nexus-aliyunid>
              <mirrorOf>centralmirrorOf>
              <name>Nexus aliyunname>
              <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
          mirror>
      mirrors>
      
    • 配置 jdk1.8 编译项目

      <profiles>
          <profile>
              <id>jdk-1.8id>
              <activation>
              	<activeByDefault>trueactiveByDefault>
              	<jdk>1.8jdk>
              activation>
              <properties>
                  <maven.compiler.source>1.8maven.compiler.source>
                  <maven.compiler.target>1.8maven.compiler.target>
                  <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>
              properties>
          profile>
      profiles>
      
    • 修改本地仓库位置

      <localRepository>C:/MySoftware/Maven/repositorylocalRepository>
      
  3. 配置环境变量

    • Linux

      MAVEN_HOME=/path/to/maven-3.8.x
      PATH=$PATH:$MAVEN_HOME/bin
      
    • Windows

      环境变量添加maven包bin路径

  4. 检查配置

    mvn -version # 显示版本号
    

IDEA配置

Maven配置_第3张图片

你可能感兴趣的:(Java基础,maven,java)