【问题标题】:Why is adding a dependency with Intellij in the Maven Artifact search not working?为什么在 Maven 工件搜索中使用 Intellij 添加依赖项不起作用?
【发布时间】:2020-09-23 09:58:36
【问题描述】:

我正在尝试在我的项目中设置 Spring Boot。我正在使用 @Repository 注释并使用 intellij 中弹出的添加依赖项进行搜索 - 它位于 5.2.8 版中的 org.springframework.stereotype 类下。我点击 Add,因为这是我需要的依赖项,但没有任何反应。

我该如何解决这个问题?我在 pom.xml 文件中注意到的另一件事是,我可以添加的唯一 Spring boot 启动器父版本是 2.3.2 而不是更高版本。

在下面查看我的pom.xml 文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://ma––ven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.example</groupId>
<artifactId>spring-boot-project-test</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.2.RELEASE</version>
</parent>


<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.8.RELEASE</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

查看以前的问题,我删除了.m2 目录并将使用 brew 重新安装 maven - 我使用的是 Mac OS。我直接从 Spring boot 示例页面添加了这个 sn-p,它没有解析发布版本。它只解析版本2.3.2

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

我还使用 Spring Initalizer 来使用版本 2.3.4 并直接在 intellij 中打开这个项目 - 我遇到了同样的问题,它找不到 2.3.4 spring-boot-starter-parent 版本。

【问题讨论】:

  • 您是否尝试使用 @Repository 并且 IntelliJ 无法识别它?
  • 是的。我已经详细说明了问题中发生的情况

标签: java spring spring-boot maven intellij-idea


【解决方案1】:

IntelliJ 带有一个捆绑的 maven,因此请确保通过在 IntelliJ 中配置 Maven 设置来使用您真正想要的(在已安装的和捆绑的之间)。可能你默认使用的是捆绑的,所以你必须点击 maven 选项卡上的重新加载按钮(右上角)。

【讨论】:

  • 我正在更新索引的 maven 存储库,因为我注意到它从未更新过,并且在 .m2 中使用我的本地存储库 - 它应该使用来自 repo.maven.apache.org/maven2 的在线版本 - 这是什么你是说?
  • 不,在 IntelliJ -> Preferences 中有一个 Maven 部分,您可以在其中指定要使用的 Maven 主目录、本地存储库等等。
  • 谢谢,它通过转到首选项/maven/importing 并取消选中由于某种原因被选中的“排除构建目录”来工作
猜你喜欢
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 2016-12-19
  • 2022-11-16
  • 2015-07-15
  • 2018-08-16
  • 2014-06-01
  • 1970-01-01
相关资源
最近更新 更多