正在连接海拉鲁...

Maven

概述

  1. Apache Maven是一个项目管理及自动构建工具。

  2. 项目管理:编译、测试、运行、打包(jar,war)、部署

  3. 依赖管理

  4. 下载

    http://maven.apache.org
  5. 安装、配置

    • 直接解压即可
    • 配置环境变量
      • M2_HOME=>maven的解压目录
      • 修改 path=>添加%M2_HOME%\bin
    • 测试:mvn-v
  6. maven仓库

    • 本地仓库:本地的一个文件夹
    • 中央仓库:世界唯一的,由Maven社区维护的(网站)
    • 远程仓库:是位于web服务器上的一个私有仓库,一般由自己公司创建和维护
    • 镜像仓库:是中央仓库的镜像(副本),目的是加快依赖jar包的下载
  7. 修改Maven配置

    • 修改:maven的安装目录下的config/settings.xml

      //修改本地仓库的位置
      <localRepository>D:\repo</localRepository>
    • 配置阿里云的镜像

      <mirrors>
          <mirror>
              <id>nexus-aliyun</id>
              <mirrorOf>central</mirrorOf>
              <name>Nexus aliyun</name>
              <url>http://maven.aliyun.com/nexus/content/groups/public</url>
          </mirror>
      </mirrors>

使用

  1. maven目录结构

    src:源程序目录
    	main:源程序目录
    		java:程序
    		resources:资源文件
    		webapp:web项目(不是web项目没有)
    	test:测试代码
    target:项目生成的结果
    
  2. 创建Maven项目

    • maven project向导
    • 配置三个坐标(定位唯一的jar包)
      • groupId(组ID):组织或公司的域名
      • artifactId:组件名(项目名)
      • version:版本号
  3. 配置打包方式

    • jar(默认打包方式,控制台项目或Window项目)
    • war(web项目)
    • pom(maven的管理项目)
  4. pox.xml

    <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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.neu</groupId>
        <artifactId>mavendemo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
    
        <build>
            <plugins>
                <!-- 资源文件拷贝插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.7</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <!-- java编译插件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.2</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                    <configuration>
                        <path>/</path>
                        <port>8089</port>
                    </configuration>
                </plugin>
                 <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.1.1</version>
                    <configuration>
                        <webResources>
                            <resource>
                                <excludes>
                                    <exclude>**/WEB-INF/web.xml</exclude>
                                </excludes>
                                <directory>src/main/webapp</directory>
                            </resource>
                        </webResources>
                       <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
        <!-- 依赖 -->
        <dependencies>
            <!-- 单元测试 -->
            <!-- https://mvnrepository.com/artifact/junit/junit -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
             <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
            <!-- <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.2</version>
                <scope>provided</scope>
            </dependency> -->
        </dependencies>
    </project>