6

以下为 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

image_1b5hjn6vvcij14c6vuq1ctl1m7i9.png-11.9kB

<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 进行设置

image_1b5hk71apeshvrp1r30elv1e8qm.png-157.4kB

注意:不能在打开的项目中设置,因为这样会使得设置的内容仅对当前项目生效。如下图,在打开的项目中进行设置时,会是 For current project

image_1b5hkd4dk19l41p8s13ie1e4c1eqe13.png-14.1kB

选择 Build, Execution, Deployment > Build Tools > Maven 或直接搜索 Maven,设置 Maven home directory 为之前的 Maven 路径,并设置 User setting filesLocal repository 为之前的 settings.xmlrepository 路径,注意勾选 Override 选项,如下图:

image_1b5hkicolnfj4i91qpm859vqk1g.png-73.1kB

(选做):建议复制 settings.xmlrepository 到其他位置,以免因 Maven 版本更换而丢失配置和依赖仓库。如复制到 ~/.m2 路径下。

4. 修改 Maven 的 VM Option

使用 IDEA 创建 Maven 骨架项目时,可能会出现 :generate 过程一直持续的情况,标准项目目录结构一直无法生成。

image_1b5hlb6jt1enl18ad1lni1um9efe2a.png-126.8kB

image_1b5hlcc9n15q01olm17huc8336j2n.png-18.5kB

这时需要修改 IDEA 中 Maven VM Option 的值,使其不再远程下载所需的 xml 文件。注意:这里仍需要在 For default project 中设置,修改 Build, Execution, Deployment > Build Tools > Maven > Runner 中的 VM Option 为 -DarchetypeCatalog=internal,如下图:

image_1b5hl309k1rh91nt21qse13novqt1t.png-49kB

当然也可以不使用 Create from archetype,直接在 pom.xml 中 添加配置,然后点击右键 Reimport 生成 Maven 骨架项目目录结构。

5. 添加框架支持下载失败问题

在 Maven 项目中,对项目文件右键 Add Framework Support 添加如 Spring MVC 框架支持时,可能会出现无法下载框架所需文件的情况。而且从失败提示中可以发现,其下载的地址仍是 IDEA 默认的 Maven 镜像地址,而不是 settings.xml 中配置的。

猜测可能是由于 IDEA 中如下图的配置项造成的

image_1b5hli6r81qsg1uo0o9st6l1klj34.png-45.7kB

对于这种情况,需要自行修改 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 上,需要将废纸篓中的项目也删除才可以。详见参考:Maven:Failed to create a Maven project ‘…pom.xml’ already exists in VFS 解决

7. 默认 jdk/jre 问题

编译执行时,可能出现类似「原值 1.5 已过时,将在未来所有发行版本中删除」 的报错:

image_1b5i3uq88igp1go8m201898hrn9.png-46.5kB

解决方案有以下几种:

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 按钮:

image_1b5ji5fsu6vbmvt1f33p26rf89.png-5.5kB

Modules > Sources 中修改 Language level 为 8 (与自己使用的 jdk 版本相同)

image_1b5ji6atc6tccg51ou2fcb1u6gm.png-79.2kB

然后在 Preferences 中修改 Build, Execution, Deployment > Compiler > Java Compiler 为 1.8 (与 Language level 对应)

注:这一步的设置同样建议对 Default Project 进行,不然新建的项目中还是需要修改

image_1b5jievde14b5e5bgrpqg3seq1g.png-46.8kB


参考

  1. Mac OS X下Maven的安装与配置 - 简书

  2. idea maven mvn archetype:generate卡住问题 - CSDN

  3. 使用Maven构建Spring MVC项目的简单示例 - CSDN

  4. springMVC maven的pom.xml配置文件参考 - CSDN

  5. IntelliJ IDEA创建SpringMVC+Maven项目 - 简书

  6. 源值1.5已过时,将在未来所有版本中删除 - CSDN

  7. Warning:java: 源值1.5已过时, 将在未来所有发行版中删除,怎么解决? - segmentfault

  8. Warning:java: 源值1.5已过时, 将在未来所有发行版中删除

  9. IntelliJ IDEA 源值1.5已过时,将在未来所有版本中删除 - 简书

  10. Idea_编译报错 javacTask: 源发行版 1.6 需要目标发行版 1.6

  11. Stop IntelliJ IDEA to switch java language level everytime the pom is reloaded

  12. 解决 IDEA 自动重置 LanguageLevel 和 JavaCompiler 版本的问题

  13. IntelliJ IDEA 14.1 中 Java 项目 Maven 中没有配置 JDK 时的问题


dailybird
1.1k 声望73 粉丝

I wanna.