Maven学习记录

本文详细介绍了Maven的四大特性,包括依赖管理系统、多模块构建、一致的项目结构和构建模型。讲解了Maven的安装配置、目录结构和常用命令,如clean、compile、package等。此外,还涵盖了IDEA中集成Maven、创建Java和Web项目,以及如何构建多模块项目。文章还讨论了Maven仓库、打包操作和依赖管理,包括排除传递性依赖的方法。
摘要由CSDN通过智能技术生成

1. Maven简介

Maven主要服务于基于java平台的项目构建、依赖管理和项目信息管理。
Maven项目对象模型,是通过其描述信息来管理项目的构建、报告和文档的软件项目管理工具,支持从网络下载的功能,采用xml作为配置文件格式。
Maven专注依赖管理,使用java编写。

1.2 Maven的四大特性

1.2.1 依赖管理系统

通过修改配置文件进行jar包管理升级等。
使用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

Maven坐标为各种组件引入了秩序,任何一个组件都必须明确定义自己的坐标。

  • groupId:定义当前Maven项目隶属的实际项目-公司名称。(jar包所在仓库路径)
  • artifactId:定义实际项目中的一个Maven模块-项目名。
  • version:定义Maven项目当前所处的版本。

1.2.2 多模块构建

在Maven中定义一个parent POM 作为一组module的聚合POM,在该POM中使用<modules>标签定义一组子模块。parent POM 中的bulid配置以及依赖都会自动继承给自module。

1.2.3 一致的项目结构

Maven制定了一套项目目录结构作为标准的java项目结构。

1.2.1 一致的项目构建模型和插件机制

<build>
    <finalName>maven-web</finalName>
    <!--添加web部署的插件-->
    <plugins>
      <!--Jetty插件-->
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>6.1.25</version>

        <configuration>
          <!--热部署,每10秒扫描一次-->
          <scanIntervalSeconds>10</scanIntervalSeconds>
          <!--指定当前项目的站点名-->
          <contextPath>/maven03</contextPath>
          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>9090</port><!--设置启动的端口号-->
            </connector>
          </connectors>
        </configuration>
      </plugin>

      <!--Tomcat插件-->
      <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.1</version>
        <configuration>
          <port>8081</port><!--启动端口 默认8080-->
          <path>/test</path><!--项目站点名,即对外访问路径-->
          <uriEncoding>UTF-8</uriEncoding><!--字符集编码 默认ISO-8859-1-->
          <server>tomcat7</server><!--服务器名称-->
        </configuration>
      </plugin>
    </plugins>
  </build>

2. Maven的安装配置和目录结构

2.1 Maven的安装配置

  1. JDK版本1.7及以上版本
  2. 下载Maven:https://maven.apache.org/download.cgi
  3. 配置环境变量
    配置系统环境变量MAVEN_HOME,将bin目录配置到path变量中
  4. 检查Maven是否安装成功
    打开dos窗口,执行mvn -v

2.2 Maven项目目录结构

  • ${basedir}:存放pom.xml和所有的子目录
  • ${basedir}/src/main/java:项目的java源代码
  • ${basedir}/src/main/resources:项目的资源,比如property文件
  • ${basedir}/src/test/java:项目的测试类
  • ${basedir}/src/test/resources:测试使用的资源

pom.xml

<?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:定义了项目属于哪个组,这个组往往和项目所在公司存在关联
artifactId:定义了当前Maven项目在组中唯一的ID
version x.x.x-里程碑
	第一个x	大版本,有重大变革
	第二个x	小版本,修复bug,增加功能
	第三个x	更新
	里程碑版本:
		SNAPSHOT	快照,开发版
		alpha	内部测试
		beta		公开测试
		Release | RC	发布版
		GA		正常版本
-->
  <groupId>com.xxxx</groupId>
  <artifactId>maven-web</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>maven-web Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值