Java学习之初识Maven
简介
功能特点
Maven主要作用类似于VS的包管理器,能够帮助开发者完成以下工作:构建、文档生成、报告、依赖、SCMs、发布、分发、邮件列表等。
详细请阅读:https://www.runoob.com/maven/maven-tutorial.html
此外,需要注意下Maven的Snapshot版本与Release版本的区别
基础配置
环境变量
Maven 下载地址:http://maven.apache.org/download.cgi
设置 Maven 环境变量
添加环境变量 MAVEN_HOME:
POM
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等
执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
POM 中可以指定以下配置:
项目依赖、插件、执行目标、项目构建 profile、项目版本、项目开发者列表、相关邮件列表信息
项目模板(archetype)
1.maven-archetype-quickstart
生成普通的JAVA项目框架
2.maven-archetype-webapp
生成普通的JAVA WEB项目框架
推荐文章:
Maven 三种archetype说明
使用
构建Java项目
原文:https://www.runoob.com/maven/maven-creating-project.html
命令格式如下:
mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
参数说明:
-DgourpId: 组织名,公司网址的反写 + 项目名称
-DartifactId: 项目名-模块名
-DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
-DinteractiveMode: 是否使用交互模式
知识扩展
脚手架搭建
手写Maven的archetype项目脚手架
多模块项目脚手架源码:https://github.com/hafizzhang/beast-archetype
Gradle
Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。
相关学习:
https://www.cnblogs.com/Bonker/p/5619458.html
参考文章
常见问题
本地仓库配置及修改默认.m2仓库位置
原文:https://blog.csdn.net/qq_27093465/article/details/52957253
自定义一个用来存放的文件夹,将D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\plugins\maven\lib\maven3\conf\settings.xml拷贝过来,并作如下修改:
<settings> <localRepository>自己仓库的存放目录,我的仓库已经移动到e盘了,具体看上面的那个图的箭头所指的位置</localRepository> </settings>
intelliJ idea 编辑器的setting->Bulid,... -> BulidTools -> Maven -> 找到setting设置的地方,勾选上override,指定刚才的位置
解决无法下载Jar或下载失败的情况
原文:https://blog.csdn.net/u012547633/article/details/90580675
配置setting.xml的节点,改为阿里云的即可 `