IDEA Maven 配置备忘笔记
以下为 idea maven 相关配置备忘
1. maven 下载安装与环境变量配置
1. 下载downloading apache maven 3.3.9,解压并存放到系统的某一目录下。
2. 执行 vim ~/.bash_profile
,添加以下两行内容:
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>
中添加:
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/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>
标签中:
<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 并添加如下内容
<profile> <id>jdk-1.8</id> <activation> <activebydefault>true</activebydefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerversion>1.8</maven.compiler.compilerversion> </properties> </profile>
b. 修改 pom.xml 并添加如下内容,可解决在引入依赖时因 maven 导致的问题( 使用方法 c 后,编译选项仍可能被 maven 改变,此时可采用此方法解决 ):
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.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
进行,不然新建的项目中还是需要修改
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。