如何强制 Maven 使用 jcenter 存储库
How to force Maven to use jcenter repoistory
我试图通过 mvn 获取依赖项,但问题是其中一个软件包不在官方仓库中。我已经设法将 jcenter 添加到源代码中,但 maven 似乎无法在那里查看。
这里它正在正确地寻找下一个 repo
Downloading from central: https://repo.maven.apache.org/maven2/io/ktor/ktor-client-core/1.2.5/ktor-client-core-1.2.5.pom
Downloading from central: https://jcenter.bintray.com/io/ktor/ktor-client-core/1.2.5/ktor-client-core-1.2.5.pom
但这里不要:
Downloading from central: https://repo.maven.apache.org/maven2/io/ktor/ktor-http/1.2.5/ktor-http-1.2.5.pom
[WARNING] Missing POM for io.ktor:ktor-http:jar:1.2.5
mvn -Dartifact=io.ktor:ktor-client-core:1.2.5 -DremoteRepositories=central::default::https://jcenter.bintray.com/ dependency:get
对于高于 1.2.4 的版本,io.ktor
工件目前在 Maven Central 不可用。因此必须从 Jcenter repository.
下载它们
ktor-http
具有依赖性 ktor-utils
。当调用 ktor-http
的依赖插件时,Maven 也会尝试下载 ktor-utils
工件。不幸的是,参数 -DremoteRepositories=
仅被考虑用于工件 ktor-http
而不是用于依赖项 ktor-utils
。 Maven 尝试从 Maven Central 下载 ktor-utils
但失败了。
您可以通过调用
来解决问题
mvn -Dartifact=io.ktor:ktor-utils:1.2.5 -DremoteRepositories=central::default::https://jcenter.bintray.com/ dependency:get
下载前 ktor-http
。但是,这种方法需要很多手动下载步骤,我不建议这样做。
更好的解决方案是 add Jcenter 存储库直接到您的 pom:
<project>
[...]
<repositories>
<repository>
<id>jcenter</id>
<name>jcenter</name>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
[...]
</project>
第三个选项是将 Jcenter 存储库添加到您的 settings.xml
。
我试图通过 mvn 获取依赖项,但问题是其中一个软件包不在官方仓库中。我已经设法将 jcenter 添加到源代码中,但 maven 似乎无法在那里查看。
这里它正在正确地寻找下一个 repo
Downloading from central: https://repo.maven.apache.org/maven2/io/ktor/ktor-client-core/1.2.5/ktor-client-core-1.2.5.pom
Downloading from central: https://jcenter.bintray.com/io/ktor/ktor-client-core/1.2.5/ktor-client-core-1.2.5.pom
但这里不要:
Downloading from central: https://repo.maven.apache.org/maven2/io/ktor/ktor-http/1.2.5/ktor-http-1.2.5.pom
[WARNING] Missing POM for io.ktor:ktor-http:jar:1.2.5
mvn -Dartifact=io.ktor:ktor-client-core:1.2.5 -DremoteRepositories=central::default::https://jcenter.bintray.com/ dependency:get
对于高于 1.2.4 的版本,io.ktor
工件目前在 Maven Central 不可用。因此必须从 Jcenter repository.
ktor-http
具有依赖性 ktor-utils
。当调用 ktor-http
的依赖插件时,Maven 也会尝试下载 ktor-utils
工件。不幸的是,参数 -DremoteRepositories=
仅被考虑用于工件 ktor-http
而不是用于依赖项 ktor-utils
。 Maven 尝试从 Maven Central 下载 ktor-utils
但失败了。
您可以通过调用
来解决问题mvn -Dartifact=io.ktor:ktor-utils:1.2.5 -DremoteRepositories=central::default::https://jcenter.bintray.com/ dependency:get
下载前 ktor-http
。但是,这种方法需要很多手动下载步骤,我不建议这样做。
更好的解决方案是 add Jcenter 存储库直接到您的 pom:
<project>
[...]
<repositories>
<repository>
<id>jcenter</id>
<name>jcenter</name>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
[...]
</project>
第三个选项是将 Jcenter 存储库添加到您的 settings.xml
。