Maven没有Spring版本3或版本4?

njthzxwz  于 2022-11-22  发布在  Maven
关注(0)|答案(1)|浏览(232)

我尝试使用带有build.gradle的Spring版本3运行一个遗留项目:

...
plugins {
    id 'java'
    id 'maven-publish'
    id 'war'
}

repositories {
    mavenLocal()
    maven {
        url = uri('https://repo.maven.apache.org/maven2/')
    }
}

ext {
    org_springframework_version = '3.2.18.RELEASE'
}

dependencies {
...
    implementation 'org.springframework.ldap:spring-ldap-core:2.4.1'
    implementation "org.springframework:spring-web:${org_springframework_version}"
    implementation "org.springframework:spring-webmvc:${org_springframework_version}"
    implementation "org.springframework:spring:${org_springframework_version}"
...
}
...

但在尝试建置时发生下列错误:

Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find org.springframework:spring:3.2.18.RELEASE.
     Searched in the following locations:
       - file:/C:/Users/.../.m2/repository/org/springframework/spring/3.2.18.RELEASE/spring-3.2.18.RELEASE.pom
       - https://repo.maven.apache.org/maven2/org/springframework/spring/3.2.18.RELEASE/spring-3.2.18.RELEASE.pom
     Required by:
         project :

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

我检查了https://repo.maven.apache.org/maven2/org/springframework/spring/,它看起来像是在回购中没有Spring3或4。
我不能使用任何较新的Spring版本,因为项目中有大量的其他依赖项和遗留代码,应该保持原样。
我很困惑为什么会是这样,或者现在如何建立我的项目。任何帮助都很感激。

jqjz2hbq

jqjz2hbq1#

从Spring Framework 3.0.0开始,完整的spring.jar就没有了,Spring 2.5.6是最后一个拥有完整Spring jar的版本,从那以后,只有较小的模块可用。
你看到的5.x版本只是一些顶级的pom.xml文件,我认为它们是意外发布的(至于6.x,它们已经不存在了)。
简言之,从依赖项中删除以下行

implementation "org.springframework:spring:${org_springframework_version}"

因此,它不再尝试解决自Spring 2.5.6以来就没有的问题。
作为附加注解,将

maven {
        url = uri('https://repo.maven.apache.org/maven2/')
}

mavenCentral()

这将允许Gradle为您的环境选择更适合的Maven镜像。

相关问题