簡體   English   中英

我如何使用遠程Maven存儲庫

[英]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 中央存儲庫中檢查所需的所有依賴項。 您將可以在那里找到大多數“免費”依賴項。 在少數情況下,您將無法在其中找到所需的內容。

確定所需的依賴關系和所需的版本之后,您將在左側看到類似以下內容的信息:

Apache 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM