maven入门与基本使用

maven

1、Profiles参数切换
2、jar包不在每个项目重复
3、版本号统一
4、自动的将依赖的jar包导入进来

看了必懂的Maven最全教程

maven

1、生命周期

default用于部署项目:
	validate:校验项目和一些必要信息是可用的
	compile:编译项目源码
	test:执行源码的单元测试模块
	package:将项目打包,比如打包成jar文件
	verify:对集成测试的结果进行检查,以确保满足质量标准
	install:将软件包安装到本地仓库中
	deploy:将软件包部署到远程仓库
clean用于清理项目,
site用于创建项目文档

2、安装maven

当前系统是否配置JAVA_HOME的环境变量

下载maven,解压maven放在一个非中文无空格的路径下

配置maven的相关环境变量

在环境变量增加M2_HOME,路径是maven解压后的根目录

在环境变量里的path中增加maven/bin的目录

验证:maven -v 查看maven版本

3、创建约定的目录结构

在这里插入图片描述

2、maven命令

mvn clean
mvn package
mvn test
mvn install
mvn deploy

3、Maven核心概念
Maven坐标:

groupId:组织或者组织的项目名称
artifactId:项目中的具体模块
version:项目版本
packaging:项目打包方式
classifier:用于区分从同一POM构建的具有不同内容的构件

Maven仓库:

本地仓库
私服(内网的Maven仓库)
中央仓库

Maven依赖:

<dependency>
scope范围:
compile:默认编译依赖范围。对于编译、测试、运行三种classpath都有效
test:测试依赖范围。只对测试classpath有效
provided:已提供依赖范围。编译、测试classpath有效,对于运行无效。
runtime:运行时提供
test:仅用于测试,且不可传递
system:类似于provided,但必须显示提供JAR
import:仅在 dependencyManagement下支持

依赖包冲突

传递依赖:
	比如我项目中引入junit,在解析我的项目的时候,
	不仅仅仅有junit,还有junit依赖的JAR包
包冲突策略:
	最短路径优先
	最先声明优先
移除依赖:
	<exclusions><exclusion>

在这里插入图片描述
在这里插入图片描述
Maven聚合:

<modules>

Maven继承:

为了消除重复。可以把很多相同的配置提取出来
子模块通过parent标签配置,继承父模块属性
父模块通过dependencyManagement标签进行管理

package:

pom:聚合工程
war
jar
如果要打包,有两种方式:
第一种就是先手动挨个将 model、dao、service 安装到本地仓库
从聚合工程处打包,即从 web 的parent 处打包。

maven项目依赖案例

parent:
	继承parent,统一版本和相同依赖
	dao
	service
	web
聚合在打包时,方便打包	

build

<build>
  <!-- 项目的名字 -->
  <finalName>WebMavenDemo</finalName>
  <!-- 描述项目中资源的位置 -->
  <resources>
    <!-- 自定义资源1 -->
    <resource>
      <!-- 资源目录 -->
      <directory>src/main/java</directory>
      <!-- 包括哪些文件参与打包 -->
      <includes>
        <include>**/*.xml</include>
      </includes>
      <!-- 排除哪些文件不参与打包 -->
      <excludes>
        <exclude>**/*.txt</exclude>
          <exclude>**/*.doc</exclude>
      </excludes>
    </resource>
  </resources>
  <!-- 设置构建时候的插件 -->
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.1</version>
      <configuration>
        <!-- 源代码编译版本 -->
        <source>1.8</source>
        <!-- 目标平台编译版本 -->
        <target>1.8</target>
      </configuration>
    </plugin>
    <!-- 资源插件(资源的插件) -->  
    <plugin>  
      <groupId>org.apache.maven.plugins</groupId>  
      <artifactId>maven-resources-plugin</artifactId>  
      <version>2.1</version>  
      <executions>  
        <execution>  
          <phase>compile</phase>  
        </execution>  
      </executions>  
      <configuration>  
        <encoding>UTF-8</encoding>  
      </configuration> 
    </plugin>
    <!-- war插件(将项目打成war包) -->  
    <plugin>  
      <groupId>org.apache.maven.plugins</groupId>  
      <artifactId>maven-war-plugin</artifactId>  
      <version>2.1</version>  
      <configuration>
        <!-- war包名字 -->  
        <warName>WebMavenDemo1</warName>
      </configuration>  
    </plugin>  
  </plugins>
</build>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值