无法安装已发布的Java库

时间:2019-06-12 17:48:25

标签: java maven bintray

我已将Java库发布到https://bintray.com/tylerlong/maven/ringcentral-pubnub

我试图通过gradle使用它:

dependencies {
    ...

    compile 'com.ringcentral:ringcentral-pubnub:1.0.0-beta10'
}

运行./gradlew build时,出现以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find com.ringcentral:ringcentral-pubnub:1.0.0-beta10.
     Searched in the following locations:
       - https://jcenter.bintray.com/com/ringcentral/ringcentral-pubnub/1.0.0-beta10/ringcentral-pubnub-1.0.0-beta10.pom
       - https://jcenter.bintray.com/com/ringcentral/ringcentral-pubnub/1.0.0-beta10/ringcentral-pubnub-1.0.0-beta10.jar
     Required by:
         project :

这是build.gradle文件:https://github.com/ringcentral/ringcentral-pubnub-java/blob/master/build.gradle

我真的不知道为什么它不起作用。我在这里还有另一个图书馆,它的运作就像一个魅力:https://bintray.com/tylerlong/maven/ringcentral。我以类似的方式发布了这两个库。为什么一个起作用而另一个却不起作用?

以下是重现该问题的示例项目:https://github.com/tylerlong/ringcentral-pubnub-demo

2 个答案:

答案 0 :(得分:2)

在给定的Github示例中;您需要配置Gradle构建以使用您的自定义(bintray)Maven存储库。在当前设置下,它只会在jcenter中显示,并且您的依赖项无法从该存储库中获得(因此会出现错误)。

确保您的构建包含:

repositories {
    jcenter()
    maven {
      url 'https://dl.bintray.com/tylerlong/maven'
    }
}

关于

  

为什么一个工作而另一个却不工作?

也许您以不同的方式发布了“一个”和“另一个”;这样在正确的存储库中只有一个?或者,您的构建使用mavenLocal,并且实际上在本地安装了一个dep。无论如何-请仔细检查您的存储库!

答案 1 :(得分:0)

我做的一切正确,但是我忘了最后一步:链接到jcenter。

参考:https://medium.com/@anitaa_1990/6-easy-steps-to-upload-your-android-library-to-bintray-jcenter-59e6030c8890

将软件包提交到​​jcenter之后,得到以下答复:

  

您的要求包括您的包裹   Bintray的JCenter中的/ tylerlong / maven / ringcentral-pubnub已被   批准。

然后一切都像魅力一样!