以下为 idea maven 相关 配置 备忘
1. maven 下载安装与环境变量配置
1. 下载 downloading apache maven 3.3.9 ,解压并存放到系统的某一目录下。
2. 执行 vim ~/.bash_profile ,添加以下两行内容:
1 2 |
export m2_home=/path/to/apache-maven- 3.3 . 9 export path=$path:$m2_home/bin |
3. 执行 source ~/.bash_profile 使解析文件立刻生效。4. 执行 mvn -v 进行测试
2. maven 镜像地址修改
执行 vim /your/path/to/apache-maven-3.3.9/conf/settings.xml
在 <mirrors></mirrors> 中添加:
1 2 3 4 5 6 |
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http: //maven.aliyun测试数据/nexus/content/groups/public/</url> <mirrorof>central</mirrorof> </mirror> |
其中, <url> 中的内容为镜像地址,这里选择的是阿里的镜像地址。
3. 修改 idea 中 maven 的目录
在 idea 的创建项目窗口,选择 configure > project defaults > settings 进行设置
注意:不能在打开的项目中设置,因为这样会使得设置的内容仅对当前项目生效。如下图,在打开的项目中进行设置时,会是 for current project
选择 build, execution, deployment > build tools > maven 或直接搜索 maven ,设置 maven home directory 为之前的 maven 路径,并设置 user setting files 和 local repository 为之前的 settings.xml 和 repository 路径,注意勾选 override 选项,如下图:
(选做):建议复制 settings.xml 和 repository 到其他位置,以免因 maven 版本更换而丢失配置和依赖仓库。如复制到 ~/.m2 路径下。
4. 修改 maven 的 vm option
使用 idea 创建 maven 骨架项目时,可能会出现 :generate 过程一直持续的情况,标准项目目录结构一直无法生成。
这时需要修改 idea 中 maven vm option 的值,使其不再远程下载所需的 xml 文件。注意:这里仍需要在 for default project 中设置,修改 build, execution, deployment > build tools > maven > runner 中的 vm option 为 -darchetypecatalog=internal ,如下图:
当然也可以不使用 create from archetype ,直接在 pom.xml 中 添加配置,然后点击右键 reimport 生成 maven 骨架项目目录结构。
5. 添加框架支持下载失败问题
在 maven 项目中,对项目文件右键 add framework support 添加如 spring mvc 框架支持时,可能会出现无法下载框架所需文件的情况。而且从失败提示中可以发现,其下载的地址仍是 idea 默认的 maven 镜像地址,而不是 settings.xml 中配置的。
猜测可能是由于 idea 中如下图的配置项造成的
对于这种情况,需要自行修改 pom.xml 文件,然后在 idea 中进行 maven reimport 即可,如 spring mvc 可以添加如下内容到 pom.xml 的 <dependencies></dependencies> 标签中:
1 2 3 4 5 6 |
<dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version> 3.2 . 4 .release</version> <type>jar</type> </dependency> |
6. 项目删除问题
新建一个 maven 项目后,若删除该项目文件夹,并新建一个同名 maven 项目,可能报错显示该项目已存在。
因而在移除 maven 项目时,需要首先在 idea 中对项目文件夹点击右键,选择 remove module 以免之后出现不必要的报错。
这一情况通常出现在 mac 上,需要将废纸篓中的项目也删除才可以。
这往往是由于我们在同一个目录中创建了project name相同的项目导致的。因为在同一目录下不能创建两个project name相同的project。
所以在mac下我们可以直接把原先的那个project删除后,再想创建一个project name一样的,发现还是会出现该问题。问题的真正原因是原先的那个project其实还是在我们的电脑上,即vfs虚拟文件系统,我们可以在mac的废纸篓中找到刚才删除的project。最终的解决办法就是清空废纸篓或者删除在废纸篓中的原project。这样以后,我们就可以在同一个目录中创建相同名字的project了。
经过实践发现,出现该报错的原因只和project的名字有关,而和groupid和artifactid无关。虽然在idea中创建项目时,默认artifactid和project name是一致的,其实这两者也没有必然关系,我们可以修改project name使其和artifactid不一样。
7. 默认 jdk/jre 问题
编译执行时,可能出现类似「原值 1.5 已过时,将在未来所有发行版本中删除」 的报错:
解决方案有以下几种:
a. 修改 maven 的 settings.xml 并添加如下内容
1 2 3 4 5 6 7 8 9 10 11 12 |
<profile> <id>jdk- 1.8 </id> <activation> <activebydefault> true </activebydefault> <jdk> 1.8 </jdk> </activation> <properties> <maven测试数据piler.source> 1.8 </maven测试数据piler.source> <maven测试数据piler.target> 1.8 </maven测试数据piler.target> <maven测试数据piler测试数据pilerversion> 1.8 </maven测试数据piler测试数据pilerversion> </properties> </profile> |
b. 修改 pom.xml 并添加如下内容,可解决在引入依赖时因 maven 导致的问题( 使用方法 c 后,编译选项仍可能被 maven 改变,此时可采用此方法解决 ):
1 2 3 4 |
<properties> <maven测试数据piler.source> 1.8 </maven测试数据piler.source> <maven测试数据piler.target> 1.8 </maven测试数据piler.target> </properties> |
c. 修改 idea 编译设置
选择右上角的 project structure 按钮:
在 modules > sources 中修改 language level 为 8 (与自己使用的 jdk 版本相同)
然后在 preferences 中修改 build, execution, deployment > compiler > java compiler 为 1.8 (与 language level 对应)
注:这一步的设置同样建议对 default project 进行,不然新建的项目中还是需要修改
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原文链接:https://segmentfault测试数据/a/1190000007995705
查看更多关于IDEA Maven 配置备忘笔记的详细内容...