maven环境搭建及基础知识

概述

Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

maven特点

  • 项目设置遵循统一的规则。
  • 任意工程中共享。
  • 依赖管理包括自动更新。
  • 一个庞大且不断增长的库。
  • 可扩展,能够轻松编写 Java 或脚本语言的插件。
  • 只需很少或不需要额外配置即可即时访问新功能。
  • 基于模型的构建 − Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
  • 项目信息的一致性站点 − 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
  • 发布管理和发布单独的输出 − Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
  • 向后兼容性 − 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
  • 子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,
  • 并行构建 − 编译的速度能普遍提高20 - 50 %。
  • 更好的错误报告 − Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

maven环境搭建

Maven 是一个基于 Java 的工具,所以必须先安装 JDK。

Maven 下载

Maven 下载地址:http://maven.apache.org/download.cgi

下载好后,解压使用

在这里插入图片描述

bin:存放了 maven 的命令,比如我们前面用到的 mvn tomcat:run

boot:存放了一些 maven 本身的引导程序,如类加载器等

conf:存放了 maven 的一些配置文件,如 setting.xml 文件

lib:存放了 maven 本身运行所需的一些 jar 包

配置环境变量

在这里插入图片描述
在这里插入图片描述

Maven 软件版本测试

通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为 3.5.2 及 java 版本为 1.8 即为安装 成功。 找开 cmd 命令,输入 mvn –v命令,如下图:

在这里插入图片描述

Maven 仓库

本地仓库:存储在本地计算机

远程仓库:存储在局域网中的服务器

中央仓库:远程服务器,默认使用国外的服务器,配置国内的镜像加速

在这里插入图片描述

Maven 本地仓库的配置

创建本地仓库文件夹
在这里插入图片描述

找到解压过后maven中conf下的settings.xml文件并打开

在这里插入图片描述

找到文件中的localrepository标签并填入刚才创建的本地仓库文件夹的路径

在这里插入图片描述

配置中央仓库阿里云镜像

在settings.xml文件中加入如下代码

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

在这里插入图片描述

Eclipse配置Maven插件

Eclipse内置了Maven插件,我们还是配置自己的Maven

在这里插入图片描述

指定Maven配置文件

在这里插入图片描述

确认本地仓库路径

在这里插入图片描述

Maven中创建Java SE项目

新建项目,搜索maven
在这里插入图片描述

跳过骨架:maven内置了一些不同类型项目的基本模板,使用骨架创建的Maven项目,目录结构不完整

在这里插入图片描述

maven坐标:一个jar包或者war包的唯一标志 spring-beans.4.2.4.jar spring-beans.5.2.4.jar

​ G 组ID 公司名,域名反写

​ A 构建物ID 项目名,模块名

V	版本号			

packaging:指定项目打包类型

​ java se jar

​ java web war

​ 父项目或者聚合项目 pom

在这里插入图片描述

创建好后的maven项目

在这里插入图片描述

在 pom.xml 文件添加坐标

<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.woniu.mvn</groupId>
    <!-- 模块名称 -->
  <artifactId>mvntest01</artifactId>
   <!-- 当前项目版本号,snapshot 为快照版本即非正式版本,release 为正式发布版本 -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- 在pom文件中添加项目需要使用的jar包依赖 -->
  <dependencies>
  	<dependency>
  		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.9</version>
		<scope>test</scope>
  	</dependency>
  </dependencies>xml
 	 <!-- 配置了很多插件 -->
 	 <build>
		<plugins>
			<!-- 配置JDK版本插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.0</version>  
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

设置JDK编译版本,在添加了上面插件之后要跟新maven项目

在这里插入图片描述
在这里插入图片描述

坐标的来源方式

添加依赖需要指定依赖 jar 包的坐标,但是很多情况我们是不知道 jar 包的的坐标,可以通过如下方 式查询:

http://search.maven.org

http://mvnrepository.com

在这里插入图片描述

Maven 常用命令

启用maven测试

鼠标右键点击项目→run as →maven test
在这里插入图片描述

  • compile

    • compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。
    • cmd 进入命令状态,执行 mvn compile,如下图提示成功:
      在这里插入图片描述
  • clean

    • clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。
  • test

    • test 是 maven 工程的测试命令 mvn test,会执行 src/test/java 下的单元测试类。
    • cmd 执行 mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功
      在这里插入图片描述
  • package

    • package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war 包。
  • install

    • install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 从运行结果中,可以看出: 当后面的命令执行时,前面的操作过程也都会自动执行,
  • deploy

    • 将包打到远程仓库

ven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war 包。

  • install
    • install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 从运行结果中,可以看出: 当后面的命令执行时,前面的操作过程也都会自动执行,
  • deploy
    • 将包打到远程仓库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值