Maven构建项目 — 知识点梳理
文章目录
- 项目构建的痛点
- 有痛点就会有需求,apache根据这些痛点开发了Maven项目管理工具。Maven有以下核心特性
- Maven安装和配置
- 修改Maven本地仓库
- idea集成maven
- Maven坐标
- Maven项目标准结构
- Maven本地仓库 和 Maven中央仓库
- 建立阿里云maven私服
- Unable to import maven project: See logs for details
- 解决idea的pom.xml代码不自动提示
IDEA创建Maven项目,解决 Unable to import maven project: See logs for details 问题
项目构建的痛点
- 1. 工程结构不统一 2. jar查找困难 3. 工程打包(jar/war)麻烦
❤ IDE集成开发环境多种多样,不同IDE创建的项目的格式都是独立的。比如eclipse中创建的项目在idea中是无法被加载的。
❤项目需要的jar要到对应的官网上下载,这样不仅耗时,还容易出现jar冲突。
有痛点就会有需求,apache根据这些痛点开发了Maven项目管理工具。Maven有以下核心特性
1. 项目结构遵循统一的规则,保证不同IDE开发环境的兼容性。eclipse中创建的项目再idea中也可以加载啦
2. 强大的依赖管理功能,项目依赖组价自动下载、自动更新。我们直接到Maven中央仓库中下载,无需再从各自的官网上下载啦
3. 可扩展的插件机制,Maven支持插件技术,比如springboot项目中,可以通过在Maven中引入spring-boot-maven-plugin插件来打包项目
Maven安装和配置
1. Maven是用JAVA编写的,所以要运行Maven需要在本地安装jdk,并配置jdk的环境变量。如果已经安装好jdk的则可以跳过这一步。
2. 进Maven官网http://maven.apache.org/download.cgi下载压缩包
3. 将Maven压缩包解压到指定目录
4. 配置Maven环境变量。在path变量中添加maven安装的bin目录路径
D:\maven\apache-maven-3.6.3\bin
5. 打开cmd命令行,输入
mvn -v
命令查看maven是否安装成功。
修改Maven本地仓库
- Maven默认的本地仓库在
C:/Users/xx/.m2/repository
,但C盘是系统盘,本地仓库不建议放在C盘。
编辑Maven配置文件settings.xml文件,在<settings>
节点下添加<localRepository>
来配置Maven本地仓库
<!-- Maven默认本地仓库是C:\Users\xx\.m2\repository,现在我们改为D:\maven\apache-maven-3.5.4\local-repository -->
<localRepository>D:\maven\apache-maven-3.5.4\local-repository</localRepository>
idea集成maven
1. Maven是项目管理软件,一般是要和idea/eclipse这样的IDE集成环境联合使用。
2. 在idea欢迎界面右下角的Configure中选择Settings,打开Settings设置界面。
3. 这里可以看到idea默认给我们集成了一款version为3.3.9的Maven,这就是为什么我们没有安装Maven的情况下也可以使用Maven来构建项目的原因。
4. 将idea默认集成的maven替换成我们自己安装的3.5.4版本的。(用idea默认的也是可以的,反正我就是用默认的)
- maven相关选项配置
- Maven home directory: 配置maven安装路径
- User settings file: 指定maven配置文件路径。如果由个配置文件,我们可以指定使用哪个
- Local repository:配置maven本地仓库路径。从远程仓库下载的依赖都会保存在这里。
- maven相关选项配置
Maven坐标
GroupId:机构或团体的英文,采用逆向域名的方式书写
ArtifactId:项目名
Version:版本号,如1.0.0.RELEASE,RELEASE表示发布版的意思
Maven项目标准结构
目录 | 用途 |
---|---|
${basedir} | 项目根目录,pom文件就在该目录中 |
${basedir}/src/main/java | 存储Java源代码(.java)的目录 |
${basedir}/src/main/resources | 资源目录,存放配置文件、静态资源、页面文件等 |
${basedir}/src/test/java | 测试类的源代码 |
${basedir}/src/test/resources | 测试时使用的资源文件 |
${basedir}/target | 项目输出目录,用于存储jar、war文件 |
${basedir}/target/classes | 储存java源文件编译后的字节码(.class) 文件的目录 |
${basedir}/target/pom.xml | 项目(Project)对象(Object)模型(Model)文件 |
Maven本地仓库 和 Maven中央仓库
本地仓库是指存储在本地磁盘中的文件; 远程中央仓库是指存储在apache服务器上的文件。
1. 项目启动后,maven会加载pom.xml文件,分析里面有哪些dependency依赖。然后会去本地仓库(.m2/repository)中查找这些依赖(jar包)是否存在,如果不存在则会向maven中央仓库发起下载请求下载本地缺少的jar,然后maven再加载这些jar。
2. maven默认的私服地址在国外,在国内下载jar的速度会很慢;通过配置切换到国内的阿里云私服后,jar的下载速度就会变得非常快。
建立阿里云maven私服
在一些大型项目中,会用到很多的依赖。如果我们的本地maven仓库中没有这些依赖,那么Maven就会去远程maven中央仓库中下载。但maven中央仓库是国外的网站,从那里下载会很慢。
下面通过配置阿里云Maven私服
来提高速度(就是当本地maven仓库没有所需依赖时,会先从阿里云的maven仓库中下载,无需再到maven中央仓库中下载,使得maven下载jar的速度显著提高)
这里提供两种配置阿里云Maven私服的方式
1. 在pom.xml文件中添加以下配置 (这种方式仅对当前项目有效)
<repositories><!--配置阿里云maven私服,提高maven下载jar的速度--><repository><id>aliyun</id><name>aliyun-maven</name><url>https://maven.aliyun.com/repository/public</url></repository></repositories>
2. 编辑maven的settings.xml配置文件,在
<mirror>
节点下-添加阿里云maven私服 (这种方式是永久性的)<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> </mirror>
注意: 这是阿里云的maven私服的setting.xml文件,MirroOf配置不是*号,是central,这样在项目pom中配置repository依然生效
Unable to import maven project: See logs for details
将idea默认集成的Maven替换成自己安装的Maven后,创建Maven项目报错Unable to import maven project: See logs for details
。百度 + Show Log in Explorer
查看idea日志后,发现是选择apache-maven-3.6.3版本,导致不兼容,换低版本的Maven可行,建议使用3.6.1以下版本
。
进入https://archive.apache.org/dist/maven/maven-3/中下载3.6.1以下版本,然后修改环境变量、settings配置文件 和 idea的maven配置。然后再创建一个maven工程,发现问题解决。
解决idea的pom.xml代码不自动提示
打开Settings设置界面,Build,Execution,Deployment
—> Build Tools
—> Maven
—> Repositories
,选择第一项,然后Update即可。
https://search.maven.org/
https://maven.aliyun.com/
http://maven.apache.org/
Maven构建项目 — 知识点梳理相关推荐
- idea 使用maven构建项目时,target bytecode version经常自动变化
idea 使用maven构建项目时,target bytecode version经常自动变化 解决方法:在工程的pom.xml中添加 <build><plugins>< ...
- Maven学习总结(3)——使用Maven构建项目
maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程. 一.构建Jave项目 1.1.创建Jave Project
- 使用Maven构建项目Docker镜像并上传至阿里云镜像仓库
前言 前面介绍了Docker的一些安装.镜像加速.构建镜像 并推送至服务器 , 今天在前面的基础上新增配置 , 使项目可以具备构建镜像后将包推送至远端仓库的能力 Docker是什么?有什么 ...
- 使用Intellij Idea创建第一个SpringBoot+MyBatis+MySql项目并运行(附安装教程),使用Maven构建项目并管理第三方jar
Intellij Idea 背景 开发工具及主要框架 Maven 下载安装 settings.xml修改 IDEA配置Maven 注册私有jar Maven打包 MySql安装 配置环境变量 Inte ...
- Devops 开发运维基础篇之使用Maven构建项目
文章目录 一.Jenkins项目构建类型 二.自由风格项目构建 1. 拉取代码 2. 编译打包 3. 部署 4. 演示改动代码后的持续集成 三.Maven项目构建 1. 安装 Maven Integr ...
- 解决maven构建项目SQLException: No suitable driver
问题发生和解决: 主要是这次我用到了C3P0连接池,maven构建的项目没有读取到我的c3p0-config.xml配置文件.maven构建的项目C3P0连接池的配置文件不能直接放在src目录下. 解 ...
- java通过maven构建项目实现日志生成模拟(一)创建maven项目+安装配置Fastjson.jar和Logback.jar 和 slf4j.jar
先创建一个空项目 应用OK即可; 安装配置Fastjson.jar Fastjson.jar的作用是里面的方法可以 将Java对象转换为Json格式的字符串 或者 反过来将Json字符串转换为java ...
- Maven构建项目PKIX路径构建失败,无法找到到请求目标的有效证书路径
今天导入项目的时候,提示jar包没有,把报错信息贴出来 Failed to execute goal on project imook-security-core: Could not resolve ...
- java通过maven构建项目实现日志生成模拟(三)通过logback 打印日志
安装配置好需要的jar包后 通常使用logback打印日志的时候需要在类的前面加上 private final static Logger logger =LoggerFactory.getLogge ...
最新文章
- 新型脑-脑接口,实现“阿凡达”式的跨鼠遥控
- 单片机原理及其应用——单片机控制按键依次点亮8只发光二极管
- mysql 分组top_MySQL:如何查询出每个分组中的 top n 条记录?
- 【Python爬虫】Request库入门
- (140)FPGA面试题-FPGA IP简介
- mac qt编译出现问题的解决方法
- 20165235 第十周课下补做
- fatal error: stropts.h: 没有那个文件或目录
- Java Collection小结
- itext7实现参数和图片替换
- Windows10 如何使用微软输入法快速输入时间(yyyy-mm-dd hh:mm:ss格式)
- 2019长江课堂作业答案_2019长江作业本同步练习册九年级数学参考答案,人教版!...
- 人工智能狂潮_患有社交媒体狂潮? 使用这些工具从一个地方管理所有帐户
- 【考前冲刺】计算机三级网络技术之综合题-IP地址计算
- navicat ssh postgresql 报错:no password supplied
- 和菲利普•科特勒的《营销管理》一样,这些都是比较好的市场营销书籍
- 电动车AMT换挡规律研究——换挡点计算
- Latex论文排版——图片
- 小白的python与houdini之旅(houdini_转载houdini节点解析)
- 用python写一个有AI的斗地主游戏(二)——简述后端代码和思路
热门文章
- 前端技术的概括以及html的基本知识总结
- PHP7 下安装 memcache 和 memcached 扩展
- 3分钟融云Demo体验:IM即时通讯篇
- SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC
- 教自己如何的口若悬河
- 树言树语:AIR的 应用方向在哪里?
- Android基础 获取屏幕的宽与高
- 请问在JAVA编程中什么叫耦合?什么又叫解藕? 悬赏分:0 - 解决时间:2008-3-8 12:55...
- 使用逻辑回归制作评分卡
- Excel还是那些事