maven - Gradle/Maven项目fork提供了原始 Artifact (仅下载fork)

标签 maven gradle

说明

我已经 fork 了另一个项目,并将其上传到我自己的Maven存储库中。但是,依赖图也会拉原始项目,这意味着我有两个版本的项目。该编译在命令行中工作正常,但在eclipse中工作不佳,因为它首先读取原始项目的jar,然后跳过我的分支项目。

依赖图

+--- com.spiddekauga.gdx:gdx-spiddekauga (fork)
+--- com.badlogicgames.gdx:gdx-box2d
|    \--- com.badlogicgames.gdx:gdx (original)

我尝试过的内容

首先,我尝试使用原始名称com.badlogicgames.gdx:gdx,但是即使我的maven存储库已在之前列出,但该项目是从原始maven存储库而非我的库下载的。

build.gradle
allprojects {
    ...
    repositories {
        maven { url "http://maven.MY-DOMAIN.org/" }
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" } 
    }
    ... 
}

我搜索的另一件事是使com.spiddekauga.gdx:gdx-spiddekauga提供com.badlogicgames.gdx:gdx,从而不必下载它,但是我还没有找到在gradle或maven中做到这一点的方法。

问题
  • 我该如何解决,以便仅提取我的 fork 项目?通过以下两种方式之一:a)重命名为com.badlogicgames.gdx:gdx,以便它首先搜索我的maven存储库;或b)通过排除依赖项com.badlogicgames.gdx:gdx
  • [次要问题]是否可以设置Maven项目提供另一个 Artifact ?例如。像这样:

  • pom.xml
    <project>
        <groupId>com.spiddekauga.gdx</groupId>
        <artifactId>gdx-spiddekauga</artifactId>
    
        <provides>
            <project>
                <groupId>com.badlogicgames.gdx</groupId>
                <artifactId>gdx</gdx>
            </project>
        </provides>
    </project>
    

    最佳答案

    fork 项目不会更改groupId或gradle文件中的项目坐标(projectIdversionpom)。您需要搜索并替换所有内容才能正常工作。

    另外,您要引用的依赖项在mavenCentral中可用,它是存储库列表中的第一个。

    关于maven - Gradle/Maven项目fork提供了原始 Artifact (仅下载fork),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28832976/

    相关文章:

    maven - 如何为 Maven 项目指定测试 jar 的传递依赖关系?

    maven - 从 Maven 到 Artifactory 的经过身份验证的 HEAD 调用

    mysql - zeppelin sql 解释器错误,无法获取 mysql 的依赖项 :mysql-connector-java:5. 1.38

    gradle - 覆盖主项目中定义的gradle选项

    java - 模拟服务/ Controller 时,Mockito返回空指针

    java - 无法在spring boot中使用内存数据库

    java - 无法执行目标 org.codehaus.mojo :gwt-maven-plugin:2. 6.1:compile

    Android Studio, React Native, Gradle : Project Sometimes Builds But Won't Run due to Ambiguous Errors & Warnings

    regex - 如何在groovy/gradle中使用正则表达式替换csv中的文本?

    android - Jenkins + Gradle 包装器。如何将 init.gradle 设置添加到 Jenkins