[英]How do I use a remote maven repository
我是Maven的新手。 我正在尝试在我的Maven项目中使用springframework。 我在这里看到春季版本太旧了https://repo.maven.apache.org/maven2 ,所以我尝试在我的pom.xml中包含另一个存储库http://repo.spring.io/release/
<?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>abc</groupId>
<artifactId>xyz</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<repositories>
<repository>
<id>spring</id>
<name>spring</name>
<url>http://repo.spring.io/release/</url>
</repository>
<repository>
<id>maven-apache</id>
<name>maven-apache</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.spring-beans</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
</dependencies>
</project>
但是当我运行mvn compile
,仍然出现以下错误
[WARNING] The POM for org.springframework.spring-beans:spring-beans:jar:5.0.0.RELEASE is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.324 s
[INFO] Finished at: 2018-07-24T23:06:42-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project XXXX: Could not resolve dependencies for project XXXX:jar:1.0: Failure to find org.springframework.spring-beans:spring-beans:jar:5.0.0.RELEASE in http://repo.spring.io/release/ was cached in the local repository, resolution will not be reattempted until the update interval of spring has elapsed or updates are forced -> [Help 1]
[ERROR]
任何想法得到这项工作?
通常,您应该在Maven 中央存储库中检查所需的所有依赖项。 您将可以在那里找到大多数“免费”依赖项。 在少数情况下,您将无法在其中找到所需的内容。
确定所需的依赖关系和所需的版本之后,您将在左侧看到类似以下内容的信息:
来自那里的信息可以很容易地复制粘贴到您的项目中。 另外,强烈建议对所有相关的依赖项使用相同的版本,并通过定义变量将它们一起释放。
您可以这样定义一个变量:
<properties>
<spring.version>5.0.7.RELEASE</spring.version> --> the version from maven central
</properties>
然后,您可以包括这样的依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
而且,如果您有多个pom.xml
文件,并且有一个父亲->子关系,则无需在子文件中包含依赖项版本,因为它将自动从父亲的版本继承而来。 您将可以执行以下操作:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
对于特殊的Spring,如果您需要多个依赖关系,我建议您看一下spring-boot。 您可以在此处找到有关spring-boot的更多信息。 同样,当您使用spring-boot时,通常不需要手动处理依赖项的版本。
引用链接:
使用Spring Boot可以轻松地创建独立的,基于生产级别的基于Spring的应用程序,您可以“运行”它们。
我们对Spring平台和第三方库持固执己见的观点,因此您可以以最小的麻烦开始使用。 大多数Spring Boot应用程序只需要很少的Spring配置。
结论是,您不需要添加其他存储库,并且依赖项的groupId
应该如下所示: <groupId>org.springframework</groupId>
,一切都会正常进行。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
删除组ID上的四季豆
删除groupId中的.spring-beans 。
只需通过<groupId>org.springframework</groupId>
更改您的<groupId>org.springframework.spring-beans</groupId>
<groupId>org.springframework</groupId>
您应该尝试添加以下依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework.version}</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.