文章目录

  • 项目构建的痛点
  • 有痛点就会有需求,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坐标
  • 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构建项目 — 知识点梳理相关推荐

  1. idea 使用maven构建项目时,target bytecode version经常自动变化

    idea 使用maven构建项目时,target bytecode version经常自动变化 解决方法:在工程的pom.xml中添加 <build><plugins>< ...

  2. Maven学习总结(3)——使用Maven构建项目

    maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程. 一.构建Jave项目 1.1.创建Jave Project

  3. 使用Maven构建项目Docker镜像并上传至阿里云镜像仓库

    前言 前面介绍了Docker的一些安装.镜像加速.构建镜像 并推送至服务器 , 今天在前面的基础上新增配置 , 使项目可以具备构建镜像后将包推送至远端仓库的能力 ​​​​​​Docker是什么?有什么 ...

  4. 使用Intellij Idea创建第一个SpringBoot+MyBatis+MySql项目并运行(附安装教程),使用Maven构建项目并管理第三方jar

    Intellij Idea 背景 开发工具及主要框架 Maven 下载安装 settings.xml修改 IDEA配置Maven 注册私有jar Maven打包 MySql安装 配置环境变量 Inte ...

  5. Devops 开发运维基础篇之使用Maven构建项目

    文章目录 一.Jenkins项目构建类型 二.自由风格项目构建 1. 拉取代码 2. 编译打包 3. 部署 4. 演示改动代码后的持续集成 三.Maven项目构建 1. 安装 Maven Integr ...

  6. 解决maven构建项目SQLException: No suitable driver

    问题发生和解决: 主要是这次我用到了C3P0连接池,maven构建的项目没有读取到我的c3p0-config.xml配置文件.maven构建的项目C3P0连接池的配置文件不能直接放在src目录下. 解 ...

  7. java通过maven构建项目实现日志生成模拟(一)创建maven项目+安装配置Fastjson.jar和Logback.jar 和 slf4j.jar

    先创建一个空项目 应用OK即可; 安装配置Fastjson.jar Fastjson.jar的作用是里面的方法可以 将Java对象转换为Json格式的字符串 或者 反过来将Json字符串转换为java ...

  8. Maven构建项目PKIX路径构建失败,无法找到到请求目标的有效证书路径

    今天导入项目的时候,提示jar包没有,把报错信息贴出来 Failed to execute goal on project imook-security-core: Could not resolve ...

  9. java通过maven构建项目实现日志生成模拟(三)通过logback 打印日志

    安装配置好需要的jar包后 通常使用logback打印日志的时候需要在类的前面加上 private final static Logger logger =LoggerFactory.getLogge ...

最新文章

  1. 新型脑-脑接口,实现“阿凡达”式的跨鼠遥控
  2. 单片机原理及其应用——单片机控制按键依次点亮8只发光二极管
  3. mysql 分组top_MySQL:如何查询出每个分组中的 top n 条记录?
  4. 【Python爬虫】Request库入门
  5. (140)FPGA面试题-FPGA IP简介
  6. mac qt编译出现问题的解决方法
  7. 20165235 第十周课下补做
  8. fatal error: stropts.h: 没有那个文件或目录
  9. Java Collection小结
  10. itext7实现参数和图片替换
  11. Windows10 如何使用微软输入法快速输入时间(yyyy-mm-dd hh:mm:ss格式)
  12. 2019长江课堂作业答案_2019长江作业本同步练习册九年级数学参考答案,人教版!...
  13. 人工智能狂潮_患有社交媒体狂潮? 使用这些工具从一个地方管理所有帐户
  14. 【考前冲刺】计算机三级网络技术之综合题-IP地址计算
  15. navicat ssh postgresql 报错:no password supplied
  16. 和菲利普•科特勒的《营销管理》一样,这些都是比较好的市场营销书籍
  17. 电动车AMT换挡规律研究——换挡点计算
  18. Latex论文排版——图片
  19. 小白的python与houdini之旅(houdini_转载houdini节点解析)
  20. 用python写一个有AI的斗地主游戏(二)——简述后端代码和思路

热门文章

  1. 前端技术的概括以及html的基本知识总结
  2. PHP7 下安装 memcache 和 memcached 扩展
  3. 3分钟融云Demo体验:IM即时通讯篇
  4. SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC
  5. 教自己如何的口若悬河
  6. 树言树语:AIR的 应用方向在哪里?
  7. Android基础 获取屏幕的宽与高
  8. 请问在JAVA编程中什么叫耦合?什么又叫解藕? 悬赏分:0 - 解决时间:2008-3-8 12:55...
  9. 使用逻辑回归制作评分卡
  10. Excel还是那些事