欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

maven的下载安装与配置

程序员文章站 2022-05-04 12:43:20
...

一、maven简介

        maven是一个强大的项目构建和管理工具,利用java进行开发,属于Apache下的开源项目,现在的最新版本为Apache Maven 3.5.4,官网为 http://maven.apache.org。maven是跨平台的,并且功能很强大,能够帮助使用者完成从清理,编译,测试,生成报告,打包和部署的一系列操作过程。maven标准化了项目的构建过程,有利于团队之间的协作。此外,maven可以有效的解决java项目中jar包依赖问题,解决由此带来的版本不一致等问题。maven还提供了一个免费的*仓库,几乎可以找到任何开源类库。

二、maven的安装配置

    (1)安装配置本地maven

     在安装maven之前必须保证计算机已经安装和配置好了jdk环境,目前最新版本的maven要求jdk最低版本1.7,我试过用1.6的执行mvn命令会报错,然后从官网上下载想要安装的maven版本 http://maven.apache.org/download.cgi,这里我安装的maven 3.5.4。然后根据自己的安装路径配置环境变量,具体的新建系统变量M2_HOME,并设置为安装的maven路径,如下图:

maven的下载安装与配置

最后,在系统变量Path加上 ;%M2_HOME%\bin。之后,在命令行中输入mvn -version 判断是否安装成功,如果出现如下界面证明安装成功。

maven的下载安装与配置

        上述步骤完成后就可以开始使用maven了,但是maven默认将仓库放在用户的临时文件夹下的 .m2/repository下,但是为了方便管理可以通过设置conf 文件 夹 下的setting.xml文件下<localRepository></localRepository>节点来自定义本地仓库内容。我再E盘重新建立本地仓库文件夹E:/nexu/.m2/repository,并设置了setting.xml文件:<localRepository>E:/nexu/.m2/repository</localRepository>。

        另外在setting.xml中有一处被注释的标签<mirrors>...</mirrors>这里指定的是远程仓库的镜像,由于maven默认远程仓库在国外,网络不稳定的情况下容易访问失败,所以国内提供了很多镜像地址,我这里使用的是阿里的镜像,比较稳定。

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

        注意,用户的临时文件夹下的 .m2/  也可以放置setting.xml ,此处是专为该用户进行的配置,而安装目录下的setting.xml是全局的,对所有用户生效,如果用户的临时文件夹下的 .m2/setting.xml 不添加任何新的配置的话,会默认执行全局的配置。另外在maven项目中的pom.xml中也是可以配置镜像的,以下是配置的优先级:

        配置优先级从高到低:pom.xml--->profiles.xml--->user settings --->global settings

        完成了maven的安装配置及自定义本地仓库的位置后,在命令行中输入mvn help:system,可以看到本地maven为我们从*仓库中下载了一些文件到本地仓库中。

        (2)eclipse中配置maven

        完成(1)中所有操作确定maven安装配置正确后,首先在eclipse->Window->Preferences->Maven->Installations中添加maven,如 下图

maven的下载安装与配置

        然后在eclipse->Window->Preferences->Maven->User Settings中设置本地仓库及对应setting.xml文件位置,具体如下(我拷贝一份了setting.xml文件到本地仓库m2文件夹下,用来说明这是针对该仓库的设置,也可以直接使用maven安装文件下的setting.xml文件):

maven的下载安装与配置

        以上就完成了eclipse配置本地安装的maven环境。

三、maven常用命令

mvn -version                 查看maven的版本及配置信息

mvn archetype:create   -DgroupId=    DartifactId=    构建java项目

mvn archetype:create   -DgroupId=    DartifactId=    -DarchetypeArtifactId=maven-archetype-webapp 创建web项目

mvn compile                编译项目代码

mvn package               打包项目

mvn package -Dmaven.test.skip=true   打包项目时跳过单元测试

mvn test                      运行单元测试

mvn clean                    清除编译产生的target文件夹内容,可以配合相应命令一起使用,如mvn clean package, mvn clean test

mvn install                   打包后将其安装在本地仓库

mvn deploy                  打包后将其安装到pom文件中配置的远程仓库

mvn eclipse:eclipse      将maven生成eclipse项目结构

mvn eclipse:clean         清除maven项目中eclipse的项目结构

mvn site                       生成站点目录

mvn dependency:list      显示所有已经解析的所有依赖

mvn dependency:tree     以树的结构展示项目中的依赖

mvn dependency:analyze  对项目中的依赖进行分析,依赖未使用,使用单未引入

mvn tomcat:run              启动tomcat

四、maven中的pom.xml

        pom文件是maven中最重要的文件,以上命令的也需要根据pom文件进行运行。一般在构建完maven项目后需要修改pom文件添加诸如依赖关系,打包机制及一些项目的详细信息。一般的pom包含如下一些基本的信息:

groupId:项目或者组织的唯一标志

artifactId:项目的名称

version:项目的版本

packaging:打包机制

name:用户描述项目的名称

url:应该是只是写明开发团队的网站

        其中groupId,artfactId及version是所有的pom文件必须拥有的。除了这些基本信息外就是pom的依赖,集成,合成关系,插件,构建信息的一些声明,这里不进行详细介绍,下面给出一个简单的pom文件示例如下:

<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>
  <groupId>cn.itcast.springboot</groupId>
  <artifactId>itcast-springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>4.3.7.RELEASE</version>
      </dependency>
      <dependency>
          <groupId>com.jolbox</groupId>
          <artifactId>bonecp-spring</artifactId>
          <version>0.8.0.RELEASE</version>
      </dependency>
    
  </dependencies>
  <build>
      <finalName>${project.artifactId}</finalName>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <configuration>
                  <encoding>UTF-8</encoding>
              </configuration>
          </plugin>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.7</source>
                  <target>1.7</target>
                  <encoding>UTF-8</encoding>
              </configuration>
          </plugin>
      </plugins>
      <pluginManagement>
          <plugins>
              <plugin>
                  <groupId>org.apache.tomcat.maven</groupId>
                  <artifactId>tomcat7-maven-plugin</artifactId>
                  <version>2.2</version>
              </plugin>
          </plugins>
      </pluginManagement>
  </build>
</project>



相关标签: maven