IDEA Maven 配置备忘笔记

 更新时间:2018年09月26日 09:51:38   作者:dailybird  
这篇文章主要介绍了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 filesLocal repository 为之前的 settings.xmlrepository 路径,注意勾选 Override 选项,如下图:

(选做):建议复制 settings.xmlrepository 到其他位置,以免因 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 进行,不然新建的项目中还是需要修改

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JDBC的基本操作与Statement和PreparedStateMent使用区别分析

    JDBC的基本操作与Statement和PreparedStateMent使用区别分析

    这篇文章主要介绍了JDBC的基本操作与Statement和PreparedStateMent使用区别,Java Database Connectivity,它是代表一组独立于任何数据库管理系统(DBMS)的API,声明在java.sql与javax.sql包中,是SUN(现在Oracle)提供的一组接口规范
    2023-04-04
  • java字符串切割实例学习(获取文件名)

    java字符串切割实例学习(获取文件名)

    在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上传文件的文件名,由于ie会把整个文件路径都作为文件名上传,需要用java.lang.String中的replaceAll或者split来处理,下面看看使用方法
    2013-12-12
  • Java线程(Thread)四种停止方式代码实例

    Java线程(Thread)四种停止方式代码实例

    这篇文章主要介绍了Java线程(Thread)四种停止方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • SpringBoot Controller中的常用注解

    SpringBoot Controller中的常用注解

    这篇文章主要介绍了SpringBoot Controller中的常用注解,文章围绕主题展开详细的内容介绍,具有有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • SpringBoot从0到1整合银联无跳转支付功能附源码

    SpringBoot从0到1整合银联无跳转支付功能附源码

    这篇文章主要介绍了SpringBoot从0到1整合银联无跳转功能支付附源码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java NumberFormat 类的详解及实例

    Java NumberFormat 类的详解及实例

    这篇文章主要介绍了Java NumberFormat 类的详解及实例的相关资料,数字格式化类按照本地风格习惯进行的数字显示,需要的朋友可以参考下
    2017-08-08
  • RocketMQ NameServer保障数据一致性实现方法讲解

    RocketMQ NameServer保障数据一致性实现方法讲解

    这篇文章主要介绍了RocketMQ NameServer保障数据一致性实现方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Java线程监听,意外退出线程后自动重启的实现方法

    Java线程监听,意外退出线程后自动重启的实现方法

    下面小编就为大家带来一篇Java线程监听,意外退出线程后自动重启的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Java swing 图像处理多种效果实现教程

    Java swing 图像处理多种效果实现教程

    这篇文章主要介绍了Java swing 图像处理多种效果实现教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 详解使用Spring3 实现用户登录以及权限认证

    详解使用Spring3 实现用户登录以及权限认证

    这篇文章主要介绍了详解使用Spring3 实现用户登录以及权限认证,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2017-03-03

最新评论