当前位置:首页 > 技术分析 > 正文内容

Maven 使用说明和配置(maven使用方法)


Maven 使用说明和配置

#一、序

Apache Maven (opens new window)是一个软件项目管理、构建和依赖工具。基于项目对象模型 (POM) 的概念,Maven 可以通过中央信息来管理项目的构建、报告和文档。

简单来说,Apache Maven 最大的核心功能是帮你管理 Jar 包。不知道你是否在最开始学习 Java 开发时,如果有需要依赖其他 Jar 包,则需要把那个 Jar 复制到工程中,并且还需要在 Eclipse 里配置加载 Jar 包才能使用。而现在有 Maven 这样的工具后,一切都变得简单了。工程所需的 Jar 包,只需要配置 POM 就可以直接使用拉取和使用。

· 官网https://maven.apache.org/(opens new window)

· 仓库
https://mvnrepository.com/(opens new window)

· 镜像
https://developer.aliyun.com/mvn/guide (opens new window)
- 阿里云提供的公共代理仓库,方便研发伙伴使用,速度更快更稳定。

#一、软件下载

Maven 3.8+ 需要 JDK 1.7 或更高版本才能执行。 —— 较为常用的版本

下载
https://maven.apache.org/download.cgi(opens new window)


· 下载后直接解压就可以,它就是文件,不需要做安装操作。

· 提醒;如果你是在 Linux 等服务器上有使用需求,而不是配置到 IntelliJ IDEA 则需要配置对应的环境变量。这样才能使用 mvn 命令。


编辑 /etc/profile 文件 sudo vim /etc/profile,在文件末尾添加如下代码:

export MAVEN_HOME=/usr/local/apache-maven-3.8.8

export PATH=${PATH}:${MAVEN_HOME}/bin

保存文件,并运行如下命令使环境变量生效:

# source /etc/profile

在控制台输入如下命令,如果能看到 Maven 相关版本信息,则说明 Maven 已经安装成功:

# mvn -v

#二、环境配置

Maven /conf/settings.xml 最常用的配置一个是仓库Jar存放的位置,另外一个为了提高拉取Jar包的速度,需要配置阿里云镜像地址。—— 注意配置前,先复制一个 settings.xml.bak 做个备份。


#1. 存储地址

<localRepository>/Users/fuzhengwei/dev-ops/apache-maven-3.8.8/repository</localRepository>

#2. 镜像仓库

<mirrors>

<mirror>

<id>aliyunmaven</id>

<mirrorOf>*</mirrorOf>

<name>阿里云公共仓库</name>

<url>https://maven.aliyun.com/repository/public</url>

</mirror></mirrors>配置上阿里云的仓库以后,Maven 的下载速度就嗖嗖的了!

#三、使用配置

打开你的 IntelliJ IDEA 如图配置 Maven;

首次打开时:

打开工程时:

· 配置好你的 Maven 地址就可以使用了。

#四、命令操作

IntelliJ IDEA Maven 面板提供了操作控制;


· clean:清理,执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。

· validate:验证,验证工程正确性,所需信息完整否。

· compile:编译,大伙都知道java的识别文件是.class,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。与build区别:只编译选定的目标,不管之前是否已经编译过。

· test:测试,单元测试。

· package:打包,将工程文件打包为指定的格式,例如JAR,WAR等(看你项目的pom文件,里面的packaging标签就是来指定打包类型的)。这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令。

· verify:核实,主要是对package检查是否有效、符合标准。

· install:安装,将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)。

· build:建造,功能类似compile,区别是对整个项目进行编译。与compile区别及特点:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。

· site:站点,生成项目的站点文档。

· deploy:配置部署,复制到远程仓库。前提需要在工程 POM 和 Maven 里配置上相关的信息以及账号。

#五、构建配置

<build>

<finalName>项目名称</finalName>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.0</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-resources-plugin</artifactId>

<version>2.5</version>

<configuration>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

<!-- 统一设定POM版本信息插件 -->

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>versions-maven-plugin</artifactId>

<version>2.7</version>

</plugin>

</plugins></build>


这是一个基本的构建配置;

· maven-compiler-plugin 指定构建版本

· maven-resources-plugin 构建资源

· versions-maven-plugin 用于统一设定工程的版本工具【如图】

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3905.html

标签: maven打war包
分享给朋友:

“Maven 使用说明和配置(maven使用方法)” 的相关文章

发行版Vanilla OS 2发布稳定版:彻底重写、改变使用Linux的方式

Vanilla OS 是去年崭露头角的 Linux 发行版,最初的 1.0 版本基于 Ubuntu 构建 —— 亮点之一是系统核心“不可变”。后来改用 Debian 测试分支 (Debian Sid),免费且开源,默认桌面环境是 GNOME。什么是不可变 Linux 发行版?不可变发行版确保操作系统...

vue3中父子传值、defineProps用法、defineEmits用法

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响...

掌握版本控制:Git的那些常见用法与技巧

Git作为现代开发中最常用的版本控制系统,它的普及和高效性使得程序员几乎每天都在与它打交道。无论是个人项目,还是团队协作,Git都能帮助我们追踪代码的修改历史,保证代码版本的管理井井有条,并在多人协作时有效地避免冲突。本文将分享一些常见的Git用法与技巧,帮助你更好地掌握Git的强大功能,并提升你在...

迁移GIT仓库并带有历史提交记录

迁移git仓库开发在很多时候,会遇到一个问题。GIT仓库的管理,特别是仓库的迁移。我需要保留已有的历史记录,而不是重新开发,重头再来。我们可以这样做:使用--mirror模式会把本地的分支都克隆。// 先用--bare克隆裸仓库 git clone git@gitee.com:xxx/testApp...

15款测试html5响应式的在线工具

手机、平板灯手持设备的增多,网站要顺应变化,就必须要做响应式开发,响应式网站最大的特点在于可以在不同设备下呈现不同的布局,是基于html5+css3技术,目前越来越多的网站开始采用了响应式设计,而下面15款工具可以方便测试你的html5响应式效果。Responsinatorhttp://www.re...

数组、去重、排序、合并、过滤、删除

ES6数字去重 Array.from(new Set([1,2,3,3,4,4])) //[1,2,3,4] [...new Set([1,2,3,3,4,4])] //[1,2,3,4]2、ES6数字排序 [1,2,3,4].sort(); // [1, 2,3,4],默认是升序...