“IDEA:Maven相关”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(创建页面,内容为“[[category:]] == 关于 == === 关于不同的远程仓库 === 通过测试: # AliMaven # # == 更新远程仓库索引 == Maven 仓库索引,用于在“为项目添加依赖项”时,提供代码提示、结构搜索。【如上节所示】 IDEA 的 Maven 索引位置:“C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1\Maven\Indices” : 600px 为 Maven 配置了 setting.xml 之后,…”)
 
无编辑摘要
第1行: 第1行:
[[category:]]
[[category:IDEA]]


== 关于 ==
== 关于 ==

2022年5月9日 (一) 18:13的版本


关于

关于不同的远程仓库

通过测试:

  1. AliMaven


更新远程仓库索引

Maven 仓库索引,用于在“为项目添加依赖项”时,提供代码提示、结构搜索。【如上节所示】

IDEA 的 Maven 索引位置:“C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1\Maven\Indices”
IDEA:Maven更新仓库索引.png


为 Maven 配置了 setting.xml 之后,更新仓库索引可能失败,有以下两种情况。

更新失败:网络问题

错误信息:“Cannot connect to the Maven process. Try again later. If the problem presists, check the Maven Importing JDK settings and restart Intelli IDEA”。

由于网络原因,无法连接到该远程仓库。

解决

  1. 方式一:使用国内仓库或镜像。
    如:https://repo1.maven.org/maven2/https://repo2.maven.org/maven2/,不稳定但能用;
  2. 方式二:设置代理:
    Ctrl + Alt + S”-> ... ->“Maven”->“importing”:在“VM options for importer”项,添加:
    -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=10800
    
    Idea:为 Maven-importing 设置代理
    • 如果使用 shadowsocks:相关地址不在 PAC 名单中,所以可能需要使用全局模式。

更新失败:该仓库不支持仓库索引

错误信息:“Repository is non-nexus repo, or is not indexed”。

配置的远程仓库不支持索引。

解决:使用支持索引的 Maven 仓库;


P.S.:

1、阿里云等Maven仓库“目前还未支持生成和下载 maven indexer 文件”

2、阿里云 Maven 仓库:“阿里不再支持 http 下载,只支持 https”。
    需要对 Maven->importing(VM options for importer)设置“忽略ssl证书的验证”:-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true;


阿里云Maven 使用指南:[[https://developer.aliyun.com/mvn/guide]

P.S.:使用 Nexus 私服

针对于以上两个问题:
   1、国外仓库支持索引,但网络不稳定;
   2、国内仓库网络稳定,但不支持索引。

除了使用代理,还有另一种思路:使用 nexus 建立 Maven 私服。


    用私服代理远程仓库,只要保证本地到私服的网络畅通即可。(如果是在本地搭建私服,则同样需要解决私服到远程仓库的网络问题)


参考:
   1、“利用nexus私服,解决IDEA无法下载maven仓库索引文件的终极解决方案”
   2、“IDEA Maven Repositiory Index 错误/ resource nexus-maven-repository-index.properties does not exist

见:Maven:settings.xml示例#示例二:使用_nexus2/3

为项目添加依赖项

一般可以通过 mvnrepository 网站 搜索软件包的依赖配置信息,然后直接复制到项目的“pom.xml”文件中。

如果要通过 IDEA 添加依赖项,有以下两种方式。(需要 IDEA 的 Maven 索引)

方法一:通过“依赖搜索窗口”

IDEA:添加依赖项.png

步骤:

  1. 打开“pom.xml”文件;
  2. 使用 Alt + Insert,并选择“添加依赖项”;
  3. 在“依赖项窗口”:
    1. 上侧:搜索栏,输入关键字;
    2. 左侧:结果列表,点击依赖,并选择版本;
    3. 右侧:显示软件包详情(包括:仓库、项目站点、文档、自述文件等);
    4. 点击“添加”;
  4. 加载 Maven 变更;

方法二:通过“依赖项模板”

IDEA:添加依赖项 2.png

步骤:

  1. 打开“pom.xml”文件;
  2. 使用 Alt + Insert,并选择“依赖项模板”;
  3. 在模板中分别输入相关内容;【有代码提示,但较慢】
  4. 加载 Maven 变更;

设置“从本地缓存中获取配置信息”

创建 Maven 项目时,有一些模板信息默认从远程仓库下载获取,在网络状况不太好时,较为不便。

使用“-DarchetypeCatalog=internal”(用于设置从本地缓存中获取配置信息):

  • 如果设置了这个参数:第一次从远程拿,以后从本地拿。【要求第一次使用 Maven 必须联网】
文件:IDEA:设置Maven:跳过模板下载.png

FAQ

Maven窗口的红线提示

在 Maven 窗口的依赖项中,部分依赖下有红线提示,但问题窗口并没有关于项目的任何错误信息。
IDEA:Maven窗口的红线.png

解决,在 pom.xml 文件中:

  1. 剪掉对应依赖,加载 maven 变更;
  2. 贴上对应依赖,加载 maven 变更;

Maven 的 Clean 命令运行错误

双击 Mavne 窗口的 Clean 等命令时,收到错误信息:
   Error occurred during initialization of VM 
   Unable to allocate 130176KB bitmaps for parallel garbage collection for the requested 4165632KB heap.
IDEA:Maven运行Clean错误.png

解决:

Ctrl + Alt + S”-> ... ->“Maven”->“importing”:在“VM options for importer”项,添加:
-Xmx4096M
IDEA:Maven运行Clean错误:解决.png