如何使用自定义url而不是Maven Central来获取依赖关系

时间:2019-05-01 16:36:47

标签: java maven pom.xml

说我在一个URL上托管一个JAR文件,例如:

https://raw.githubusercontent.com/async-java/jars/master/x.jar

如何告诉Maven使用此url而不是默认的(到Maven Central)?

<dependencies>
  <dependency>
     <groupId>com.my</groupId>
     <artifactId>commons-deps</artifactId>
     <type>pom</type>
  </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>...</groupId>
            <artifactId>...</artifactId>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

我假设在这些xml配置之一中的某个地方,我们可以告诉Maven为此使用上面的URL?有人知道正确的方法吗?

如果不清楚-我不想托管整个Maven存储库-我只想提供.jar文件。

2 个答案:

答案 0 :(得分:2)

您可以为jars使用不同的URL,但是这些URL需要托管Maven存储库。

添加更多存储库(除了隐式存在的MavenCentral之外)的标准方法是将它们添加到settings.xml中。也可以将它们添加到POM本身。

Maven存储库不必是Nexus / Artifactory。不过,重要的是,URL以标准方式反映groupId,artifactId,版本等。

答案 1 :(得分:1)

我在pom.xml中使用它来引用不是Maven中心的共享Maven存储库。

<repositories>
    <repository>
        <id>my.maven.repository</id>
        <url>https://mymavenrepo.com/jars/location</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>