Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle Jcenter链接到私人托管回购_Gradle_Bintray_Jcenter - Fatal编程技术网

Gradle Jcenter链接到私人托管回购

Gradle Jcenter链接到私人托管回购,gradle,bintray,jcenter,Gradle,Bintray,Jcenter,我已经将几个java库发布到Bintray,然后将它们链接到Jcenter。为了便于讨论,让我们将其中一个库称为“my.private:repo”。这使我能够像这样使用Gradle中的库: ... repositories { jcenter() } ... dependencies { ... implementation 'my.private:repo:1.0.0' ... } 好极了 现在,我可能有一种不合理的担心,那就是我将达到Bintray repos的带宽或存储限

我已经将几个java库发布到Bintray,然后将它们链接到Jcenter。为了便于讨论,让我们将其中一个库称为“my.private:repo”。这使我能够像这样使用Gradle中的库:

...
repositories {
    jcenter()
}
...
dependencies {
...
    implementation 'my.private:repo:1.0.0'
...
}
好极了

现在,我可能有一种不合理的担心,那就是我将达到Bintray repos的带宽或存储限制,因此我将不得不开始付费在Bintray上托管repos。目前,我在开源计划中有18个repos。我的问题是,是否可以将库托管在其他地方,比如我自己的私有服务器,然后让Jcenter简单地执行重定向。我完全知道我可以设置一个私有服务器,然后做类似的事情

repositories {
    jcenter()
    maven { url ... }
}
但我真的不想这么做。我想从构建过程中尽可能地消除摩擦…这意味着依赖一台服务器来执行DNS重定向,另一台服务器来执行实际托管

那么,是否有可能自己托管这些库,并让Jcenter进行重定向,这样我就可以继续使用第一个代码段

想法


另一方面,将重定向和托管这两件事解耦似乎是明智的,但我明白Bintray将它们结合起来更有利,因为它们可以迫使所有脱离内存或带宽限制的人付费,而如果他们只是简单地进行重定向,他们就无法付费。

我不是JCenter方面的专家。然而,他们不可能提供这样的功能,因为这将给他们带来数十亿的安全问题

想象一下,您将能够成为JCenter的后端存储库,它将自己托管maven artefacts。如果jcenter自己不知道某个特定的人工制品,它会来询问您。这将是欺诈者成为jcenter后端并发布包含任何恶意代码的修补库的绝佳载体。在这种情况下,JCenter将成为来自第三方的修改过的、可能是危险的工件的分发者

如果您只是请求重定向到特定地址,那么安全威胁也会存在。你的服务器仍可能被黑客接管,修改后的jar可能会被发布

在这两种情况下,JCenter分发可能修改过的jar文件,几乎不控制内容


作为一种选择——考虑将你的人工作品上传到一个更持久的Maven存储库中,比如Maven Central.< /P>我不认为这是一个有效的问题。Jcenter可以施加一个约束,即只有一个站点可以注册以分发单个包。他们已经实施了一个约束,即两个用户不能拥有具有相同包名的包。此外,他们还可以强制网站使用GPG密钥来验证他们的合法性,而他们现在使用GPG密钥进行上传。因此,一切似乎都准备就绪,他们可以在没有安全顾虑的情况下支持这一点。