【问题标题】:"Dependency 'org.springframework.boot:spring-boot-starter-log4j2:2.3.5.RELEASE' not found "“未找到依赖项'org.springframework.boot:spring-boot-starter-log4j2:2.3.5.RELEASE'”
【发布时间】:2021-02-26 15:04:26
【问题描述】:

我是 Maven 新手,我正在向我的 pom.xml 文件添加一些依赖项,但我添加的一些依赖项一直在说:

依赖 'org.springframework.boot:spring-boot-starter-log4j2:2.3.5.RELEASE' 没找到

这是否意味着这个包不再存在?或者,在我的项目中找不到它?我需要在我的源路径中添加一些 jar 文件吗?任何帮助/评论表示赞赏。

【问题讨论】:

  • 这当然是一个有效的依赖,Maven应该能够找到它(并下载它):mvnrepository.com/artifact/org.springframework.boot/…。问:Maven 是否找到任何您的依赖项?一个可以查看的位置是您的 %USERPROFILE% (Windows) 或 $HOME (Linux) 目录下的 .m2\repository(隐藏)。问:mvn clean install -U 有帮助吗?
  • IntelliJ 后来提供了一个选项来刷新我的 maven 依赖项?然后我重新加载,然后似乎已经安装了它们,因为我确实在 .m2 文件夹中看到了它们。感谢您的帮助!
  • 查看您的 POM 可能有助于诊断问题。
  • 建议:请发布问题(IntelliJ IDE 中的 Spring Boot 项目,复制/粘贴错误消息)和解决方案(IntelliJ > Refresh Maven)。然后,您可以“接受”您的解决方案。如果遇到类似问题,这将对其他人有所帮助。
  • 让我们发布您所有的pom.xml 文件!

标签: java spring-boot maven intellij-idea


【解决方案1】:

该错误似乎已通过简单地刷新 Maven Changes 得到解决。完成对依赖项的编辑后,此图标将显示为“加载 Maven 更改”,这将安装您的包。

下面是我的 pom 文件供参考:

  <?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://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

<groupId>org.daisymdev</groupId>
<artifactId>socialmediaapi</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
    <artifactId>spring-boot-dependencies</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.3.5.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
        </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
        <version>2.3.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.13</version>
        <scope>runtime</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.jayway.jsonpath/json-path -->
    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>2.3.0</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <version>2.3.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-crypto</artifactId>
        <version>5.1.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

【讨论】:

  • 在 IDEA Intellij 中,您可以通过转到 Actions 和 Toggle Auto-Reload-Mode 来切换该行为,而不是在您更改 pom 文件中的某些内容时每次都单击该图标..跨度>
  • 如果您使用的是 spring-boot 父级,则永远不要提及 spring-boot-starter-log4j2、sprint-boot-start-data-jpa、spring-security-crypto 等依赖项的版本等手动......他们都由父母控制。所以删除定义的版本也强烈建议不要再使用 Junit 3/4 开始使用 JUnit Jupiter...
  • 谢谢!这些 cmets 真的很有帮助
猜你喜欢
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 2021-03-05
  • 2021-03-29
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
相关资源
最近更新 更多