说明
我已经 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中做到这一点的方法。问题
com.badlogicgames.gdx:gdx
,以便它首先搜索我的maven存储库;或b)通过排除依赖项com.badlogicgames.gdx:gdx
。 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文件中的项目坐标(projectId
,version
和pom
)。您需要搜索并替换所有内容才能正常工作。
另外,您要引用的依赖项在mavenCentral中可用,它是存储库列表中的第一个。
关于maven - Gradle/Maven项目fork提供了原始 Artifact (仅下载fork),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28832976/