maven简介及安装

版权声明:A_芦瑞华_i_DO.欢迎转载 https://blog.csdn.net/weixin_43067223/article/details/83997310

maven

什么是maven?

  maven翻译为“专家”,“内行”,maven是aapache下的一个纯java开发的开源项目,他是一个项目管理工具,使用maven对Java项目进行构建、依赖管理。当前使用maven的项目在持续增长。
##基本原理
  Maven的基本原理很简单,采用远程仓库和本地仓库以及一个pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。


使用maven的好处?

  1. 一步构建
    maven对项目构建过程进行标准化,通过一个命令即可完成构建过程。
  2. 依赖管理
    maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不宜出错。
  3. maven的跨平台,可在window/linux上使用。
  4. maven遵守规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。

下载安装

网址:(点这里)mavn下载
版本为maven3.3.9版本
解压导一个不含有中文和空格的目录中。
目录
bin目录:mvn.bat\mvnDebug.bat(可执行文件)
boot目录:maven运行需要的类加载器
conf目录:setting.xml整个maven工具核心配置文件
lib目录:maven运行依赖的jar包


需要配置环境变量

此处省略
在这里插入图片描述

在这里插入图片描述
注意:电脑上需要安装java环境,安装jdk1.7版本
检查是否配置成功
打开命令窗口,输入
mvn-v


本地仓库

  1. 创建本地仓库
      用来存储从远程仓库或者中央仓库下载的插件和jar包,项目使用一些插件或者jar包,优先从本地仓库查找。
      在本地新建一个文件夹,作为本地仓库
    在这里插入图片描述

  1. 配置本地仓库
    在这里插入图片描述

将本地仓库的位置放到setting的内
在这里插入图片描述

远程仓库


如果本地需要插件或者jar包,本地仓库没有,默认区远程仓库下载。远程仓库可以在互联网内也可以在局域网内。


  1. 使用阿里云的远程仓库
    连接:阿里云的仓库:http://maven.aliyun.com/mvn/view

  1. 在setting中配置远程仓库
    找到标签,复制以下代码:
    <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
    在这里插入图片描述

使用黑窗口来模仿idea来新建项目

(不影响配置,此操作可有可无,只是秀一下。)
-其中com.aaa是类似于项目的包名
-其中firstmavenproj相当于项目名
mvn archetype:generate -DgroupId=com.aaa -DartifactId=firstmavenproj -DarchetypeArtifactId=maven-archetype-webapp


idea中配置

目标:在idea中构建我的第一个mevan项目
第一步:
在File–>setting–>Build,Exception,Deployment–>Build Tools–>Maven下的
idea中的配置Maven home directory:maven的安装目录,bin的上一目录
User setting file:maven的安装目录,conf/setting.xml
Local repository:本地仓库的位置(配置Maven home directory,工具会自动选择)


第二步:
配置完成后新建一个model
在这里插入图片描述
在这里插入图片描述注意:此处必须选择小对勾,创建web工程然后找到底下的webapp结尾的jar包。
点击Next后
在这里插入图片描述在这里插入图片描述在这里插入图片描述初步项目已经创建完成。


第三步:
配置pom.xml文件
在这里插入图片描述点击import changes引入改变
在这里插入图片描述初始代码

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

<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>com.aaa</groupId>  <!--项目名称,定义为组织名+项目名,类似包名-->
  <artifactId>myFirstMaven</artifactId> <!--模块名称-->
  <version>1.0-SNAPSHOT</version> <!--当前项目版本号,SNAPSHOT为快照版本即非正式版本,release为正式发布版本-->
  <packaging>war</packaging>  <!--打包类型:jar:执行package会打成jar包
                                        war:执行package会打成war
                                        pom:用于maven工程的继承,通常父工程设置为pom-->

  <name>myFirstMaven Maven Webapp</name>  <!--用户描述项目的名称,无关紧要的东西,可选-->
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url> <!--应该是只是写明开发团队的网站,无关紧要,可选-->

  <!--声明一些常量。如:<file.encoding>UTF-8<file.encoding>引用时 ${file.encoding}-->
  <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>


  <!--依赖关系:(依赖关系是POM的重要部分)-->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <!--plugin:声明项目中所使用的插件,如热部署时,需要的tomcat插件(放build里面)-->
  <build>
    <finalName>myFirstMaven</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.0.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.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.0</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>


猜你喜欢

转载自blog.csdn.net/weixin_43067223/article/details/83997310