Maven

官网

作用:项目架构管理工具

目前:导jar包

核心思想:约定大于配置

1. 安装过程

大同小异

Homebrew:

brew install maven
  1. 通用(以Windows为例):

    1. 下载解压

    2. 配置环境变量

      • M2_HOME maven目录下的bin目录

      • MAVEN_HOME maven的目录

      • 在系统的path中配置 %MAVEN_HOME%\bin
  2. 换源

    阿里云镜像源

    在/usr/local/Cellar/maven/3.8.2/libexec/conf/settings.xml文件中找到<mirrors></mirrors>并新增

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
  3. 默认本地仓库位置:${user.home}/.m2/repository

    可以在localRepository中修改。

2. pom文件

pom.xml是Maven的核心配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!--Maven版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <!--配置的GAV-->
  <groupId>com.gs</groupId>
  <artifactId>javaweb-01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--Package:项目的打包方式
  jar:java应用
  war:JavaWeb应用
  -->
  <packaging>war</packaging>


  <!--配置-->
  <properties>
    <!--项目的默认构建编码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--编码版本-->
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <!--项目依赖-->
  <dependencies>
    <!--具体依赖的jar包配置文件-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>

  <!--项目构建用的东西-->
  <build>
    <finalName>javaweb-01-maven</finalName>
    <pluginManagement>
      <!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

3. Maven仓库的使用

Maven仓库网址

搜索对应的依赖,导入坐标即可。

4. Maven父子工程

父项目的pom.xml文件中会有

<modules>
  <module>servlet-01</module>
</modules>

子项目的pom.xml文件中会有

<parent>
  <artifactId>javaweb-01-servlet</artifactId>
  <groupId>com.gs</groupId>
  <version>1.0-SNAPSHOT</version>
</parent>
Copyright © rootwhois.cn 2021-2022 all right reserved,powered by GitbookFile Modify: 2022-08-08 23:28:10

results matching ""

    No results matching ""