Maven


什么是Maven?

Maven 是专门用于构建和管理Java相关项目的工具。

Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国代表专家、内行的意思。

所以用Maven管理Java 项目,你就是专家了 -_-!

Maven 能帮我们做什么事?

  1. 统一管理各种jar包
  2. 编译java文件
  3. 单元测试
  4. 统一的项目结构

Maven的安装(windows)

macOS下直接brew install maven即可

  1. 去官网下载最新版Maven http://maven.apache.org/
  2. 下载后直接解压放在没有中文,没有空格的路径下
  3. 配置全局环境变量MAVEN_HOME为刚才的路径(需要JAVA_HOME)
  4. 在path里添加%MAVEN_HOME%\bin
  5. win+R cmd 输入mvn -v,出现版本信息 即配置成功。

Maven仓库

所谓的仓库就是用于存放项目需要的jar包的。

maven采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同jar包。

Maven仓库有三个:

本地仓库远程仓库(私服)、中央仓库

本地仓库一般位于${user.home}/.m2/repository/,也就是用户目录下的.m2文件夹

可以在maven/conf/settings.xml文件中配置<localRepository></localRepository>来指定本地仓库位置

一般不要将仓库放在C盘,系统崩了,重装系统,仓库就没了。

maven找jar包的顺序:现在本地仓库找,找不到再去中央仓库(联网状态下)。

Maven镜像源配置

maven 会默认从maven官方提供的服务器下载jar包。

而官方服务器在国外,因为大家都知道的原因,网速很慢,而且容易卡断。 为了便于快速下载相关jar包,可以使用国内阿里云提供的maven仓库 官网:http://maven.aliyun.com

maven/conf/setting.xml中的<mirror></mirror>加入一个阿里云的镜像地址:

<mirror>
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
</mirror>

其中<id>为该镜像的唯一标识符。id用来区分不同的mirror元素。

<mirrorOf>的值为central,表示该配置为中央仓库的镜像。

<mirrorOf>的值如果为*,表示匹配所有远程仓库。

Maven项目的一些简单命令

Maven项目目录结构

了解maven命令之前首先了解maven项目的目录结构

src/main/java/ 核心代码目录

src/main/resources/ 配置文件目录

src/test/java/ 测试代码部目录

src/test/resources/ 测试配置文件目录

src/main/webapp/ web页面资源,js,css,图片等

target/ 编译后的文件所在目录

Maven命令

首先cd到maven项目的根目录

  • mvn clean
    • 清除已编译的class文件等,也就是直接删除target文件夹。一般接手别人的项目后要先执行此命令。
  • mvn compile
    • 编译项目文件,不包含测试类
  • mvn test
    • 编译测试类文件,包括非测试类文件
  • mvn package
    • 将项目打包成war包
  • mvn install
    • 执行编译、测试、打包、并将当前项目放在本地仓库中
  • mvn tomcat:run
    • 运行Tomcat,跑项目。默认版本Tomcat6

命令一般很少用到,了解一下即可

Maven项目的配置文件pom.xml

POM是项目对象模型(Project Object Model)的简称。

pom.xml包含项目自身的信息、项目所依赖的jar包信息、项目的运行环境信息 (jdk、tomcat)等。它是Maven项目中必须包含的文件。

  • 依赖管理模型:<dependencies>标签内配置项目所依赖的jar包

    <dependency>
      <groupId>javax.servlet</groupId>     <!--企业或组织的名称-->
      <artifactId>servlet-api</artifactId> <!--项目名-->
      <version>2.5</version>               <!--版本号-->
      <scope>provided</scope> <!--scope代表作用域,provided表示只是在项目编译的时候使用,项目运行的时候不使用-->
    </dependency>

    <scope>作用域比较:

    maven的插件</build>标签的<plugins>中配置maven所需要的插件

idea创建Maven项目

勾选Create from archetype,使用maven模板会从网上下载模板

不勾选直接创建maven项目


文章作者: Sky03
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Sky03 !
评论
 上一篇
Oracle Oracle
Oracle数据库的安装我安装的Oracle数据库版本为Oracle Database 12c Release 2 具体安装教程可以参考 百度经验 操作系统为安装在虚拟机里面的Windows Server 2019 DataCenter 客
2019-04-20
下一篇 
Ajax&Json Ajax&Json
AJAX:概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,A
2019-04-04
  目录