包含了spring核心,所以为什么会出现“ java.lang.ClassNotFoundException:org.springframework.core.ErrorCoded”错误?

时间:2019-05-19 17:43:10

标签: spring spring-boot gradle dependencies classnotfoundexception

我正在使用Java 8和Spring5。我要构建的这个Spring引导应用程序具有以下Grade依赖项...

subset

构建应用程序并运行它之后,出现以下错误(“ java.lang.ClassNotFoundException:org.springframework.core.ErrorCoded”)。我包括spring-core,所以我不确定它在抱怨什么...

ave

2 个答案:

答案 0 :(得分:1)

请不要在gradle构建文件中混合使用Spring依赖项和Spring Boot依赖项。对于您的项目,依赖关系应如下所示:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb:2.1.5.RELEASE'
    implementation 'org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE'
}

我建议使用https://start.spring.io/来生成具有所需所有依赖项的新Spring Boot项目。

答案 1 :(得分:0)

遇到同样的问题并解决了,请保留此页面以帮助他人:)

首先相信我,您遇到了春季解放冲突的问题。

ErrorCoded class is Deprecated. as of Spring Framework 4.3.6

这个家伙睁开了我的眼睛。

https://github.com/apache/dubbo-spring-boot-project/issues/219#issuecomment-403268651

我依靠的是弹簧芯5.0.5.RELEASE,并提到在4.3.6之后不建议使用ErrorCoded。

我使用的其他一些依赖项也依赖于spring-core的旧版本。这会导致Spring-core或相关项目的项目之间发生冲突。

spring-data-commons-core:jar:1.0.0.RELEASE
spring-data-mongodb:jar:1.10.4.RELEASE

eclipse的pom编辑器很好地显示了依赖层次结构。 如果您有不同版本的spring-core,spring-beans ...组件,则可以明确提及要使用的版本。

找到冲突的项目及其误导性的版本spring-beans之后,我的问题已解决。

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>5.0.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.8.1</version>
    </dependency>

祝你好运!