maven

2023-11-27 14:28:44 浏览数 (1)

maven

Maven简介

Maven是什么

Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具 通过pom.xml文件的配置获取jar包,而不用手动去添加jar包 合理叙述项目间的依赖关系

Maven下载安装

下载地址:http://maven.apache.org/download.cgi 安装:直接解压就可以

目录结构

bin:包含了Maven的运行脚本文件 boot:Maven的依赖的类加载器 conf: Maven的全局配置文件(settings.xml),定制Maven的运行行为 把C:Users64434.m2repository作为本地仓库的路径,可以通过核心配置 文件来改 lib:依赖jar包

maven环境变量配置

配置的目的:想要在任何地方都能够运行mvn命令 配置两个一个Home 一个home/bin

打开命令行输入mvn -v 查看结果

Maven使用

Maven规定了一套默认的项目格式

  1. src/main/java 存放项目的.java文件
  2. src/main/resources 存放项目资源文件,如spring、struts2配置文件,db.properties
  3. src/main/webapp 存放jsp,css,image等文件
  4. src/test/java 存放所有测试.java文件,如JUnit测试类
  5. src/test/resources 测试资源文件
  6. pom.xml 主要要写的maven配置文件
  7. target 项目由maven自动输出位置

创建第一个Maven项目

确保idea安装了Maven插件

创建Maven工程

添加Maven依赖jar包

会自动把jar依赖到项目当中

Maven仓库

Maven所有的Jar包都是放到maven仓库当中 在项目当中是对仓库jar包的引用

Maven仓库 本地仓库:本地存放jar的目录 私服:私人搭建的服务器,一般在企业内部局域网使用 中央仓库:Maven内置了一个远程仓库的地址,它就是中央仓库

Maven找jar包的过程

Maven查找引入jar包时, 会先到本地仓库当中查找,没有找到现到私服中找,也没有就去到远程中央仓库查找. 找到后会下载到本地仓库,下次就不用到远程仓库了 最终都会把jar包下载到本地仓库 Maven工程最终引用的都是本地的jar包

设置本地仓库目录地址 默认本地仓库

修改本地仓库

  1. 把maven安装目录config中setting.xml复制一份到.m2文件夹下
  1. 打开setting.xml修改本地仓库地址

阿里云镜像

代码语言:javascript复制
<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>

Maven常用命令

  1. validate 确保当前配置和 POM 的内容是有效的
  2. clean 删除target目录下及其目录下的所有内容
  3. mvn compile 将java文件编译成二进制放到target目录当中
  4. test 运行测试用例
  5. package 打包工程
  6. install 把maven打成的包发布到本地仓库当中

后一个执行时, 前面命令都会执行

Maven作用范围

scope

  1. compile 默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去
  2. test 依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
  3. runtime 表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
  4. provided 打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作
  5. system 从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

Maven创建Web工程

注意事项

generating project in batch mode 很慢,是应为maven获取archetype-catalog.xml导致 用浏览器打开http://repo1.maven.org/maven2/archetype-catalog.xml很慢 解决方法: 在用maven创建项目时在properties中添加 archetypeCatalog=internal,让maven读取本地配置即可

tomcat插件
代码语言:javascript复制
 <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>8081</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>

0 人点赞