无法读取构件描述文件:IntelliJ

30

我在使用Maven的POM文件时遇到了问题,它无法找到Spark依赖项并返回错误: Failed to read artifact descriptor for org.apache.spark:spark-streaming-kafka_2.10:jar:1.2.1

我确认这不是任何公司防火墙的问题,因为每个其他依赖项都正常加载,只有这个出问题。

我也已经确认在我的Maven设置中它正在尝试从以下存储库拉取。 我尝试删除本地机器上的.m2存储库以重新加载它,但仍然无法解决。

http://repo.maven.apache.org/maven2/org/apache/spark/spark-streaming-kafka_2.10/1.2.1/

我的pom文件如下所示:

<groupId>my.group.id</groupId>
<artifactId>sentiment</artifactId>
<version>1.0-SNAPSHOT</version>
<name>NPITWITTER</name>

<properties>
</properties>

    <dependencies>
        <dependency>
            <groupId>com.sparkjava</groupId>
            <artifactId>spark-core</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming-kafka_2.10</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.10</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.10</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.10</artifactId>
            <version>1.2.1</version>
        </dependency>


    </dependencies>

1
这个依赖已经存在:http://mvnrepository.com/artifact/org.apache.spark/spark-streaming-kafka_2.10/1.2.1,因此问题出在其他地方。 - Tunaki
8个回答

117

在Intellij中,我遇到了相同的问题,

我已经进行了代理设置,并运行了命令mvn -U clean install,但是它没有起作用。

我通过启用以下设置(黄色高亮显示)解决了这个问题

在Intellij中,转到 文件 -> 设置 -> 构建、执行、部署 -> Maven 勾选‘始终更新快照’复选框

Intellij Settings window snapshot


1
对我来说有效,因为它似乎强制下载了所有子项目的依赖。 - Jivay
3
在Mac上,“IntelliJ IDEA -> Preferences”指的是“设置”选项。 - delucasvb
在更新到2018.2.2之后,对于出现在一个项目中的相同问题非常有帮助。 - AlexK
非常感谢你,伙计。我正要离开IntelliJ IDEA了,你救了我一晚上。 - Rajan Chauhan
3
我还需要勾选“使用插件注册表”选项卡,然后它就可以正常工作了。 - Arefe
如果这些方法都不适用于您,请前往apache-maven-<version>/conf文件夹并检查您的settings.xml文件,我的文件中有代理设置,可能会导致问题。 - Lenymm

17

问题已解决,原因是启用了代理设置。使用mvn -U clean install重新运行,一切都已修复。


确实,这是代理相关的设置。 - Dhrubo

6

以下方法适用于IDEA 17,

  • 进入 文件(File)
  • 选择 设置(Settings)
  • 选择 构建、执行、部署(Build, Execution, Deployments)
  • 从下拉菜单中选择 构建工具(Build Tools)
  • 从下拉菜单中选择 Maven
  • 勾选 总是更新快照(Always update snapshots) 复选框

1
你的回答刚刚为我节省了数小时,甚至数天的时间。 - Samiron

6
我猜IntelliJ已带有Maven安装程序,所以请确保你的IDE指向正确的"Maven home directory"和"User settings file"路径,这些路径在以下位置:
  • 点击文件
  • 选择设置
  • 选择构建、执行、部署
  • 从下拉菜单中选择构建工具
  • 从下拉菜单中选择Maven

2
我刚刚解决了这个问题。请进入“构建,执行,部署”的Maven选项卡,并将其设置为提供的设置。
最初的回答:

我刚刚解决了这个问题。请进入构建,执行,部署的Maven选项卡,并将其设置为提供的设置。

输入图像说明


1

上述解决方案需要进一步扩展以解决我的问题(在IntelliJ idea中)。

步骤1

转到文件 -> 设置 ->(构建,执行,部署) -> Maven勾选始终更新快照选项,然后单击应用 -> 确定

enter image description here

步骤2

转到文件 -> 无效缓存/重启 -> 无效并重启

enter image description here

步骤3

在第2步之后构建项目,查看是否已修复错误。如果没有,请重新启动计算机,然后运行该项目。

我必须按照所有三个步骤才能修复错误


0
在我的情况下,这是一个代理相关的问题。我正在强调一些需要验证和更正的区域。
  1. Intellij首选项窗口中的代理设置
  2. 从您的~/.m2/settings.xml或/usr/local/Cellar/maven//libexec/conf/settings.xml中获取的maven settings.xml条目
  3. 系统代理
希望这可以帮助。

-1

前往文件 => 设置 => 构建、执行、部署 => Maven => Maven主目录: 从Bundled (Maven 3)更改为Bundled (Maven 2)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接