文章目录
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即可。