bintray
最近,我对Spring Social产生了兴趣,并且作为我学习道路的一部分,我试图集成仍在孵化器模式下的Github模块 。 不幸的是,这个模块似乎被抛在了后面,并且它对核心模块的依赖使用了它的旧版本。 由于我使用的是该内核的最新版本,因此Maven解析了一个版本以放入WAR软件包的WEB-INF / lib文件夹中。 不幸的是,它在运行时效果不佳。
下图显示了这种情况:
我本可以从传递依赖中排除旧版本,但是我很懒,Maven并没有使它变得容易。 相反,我决定只是将Github模块升级到最新版本,然后将其安装在本地存储库中。 事实证明,这很容易,因为它与最新版本的内核没有任何不兼容-我什至创建了请求请求 。 这是更新的情况:
不幸的是,如果我现在决定分发该版本的应用程序,那么任何人都将无法构建或运行它,因为只有本地仓库中有可用的“已修补”(最新)版本的Github模块。 我可以按照更新的源进行分发,但这意味着您必须先构建它并将其安装到本地仓库中,然后才能使用我的应用。
Bintray进行救援! Bintray是一个二进制存储库,能够托管任何类型的二进制文件:jar,wars,deb等。 它是在线托管的,对于OpenSource项目是免费的,非常适合我的用例。 这就是我在Bintray上上传我的工件的方式。
-
创建一个帐户
-
使用可用的身份验证提供程序-Github,Twitter或Google +,Bintray可以非常轻松地创建这样的帐户。 或者,可以使用密码创建一个老式帐户。
创建工件
-
一旦通过身份验证,就需要创建工件。 选择默认的Maven存储库,可以在https://bintray.com/${username}/maven中找到它。 然后,单击右边框上的大的Add New Package按钮。 在打开的页面上,填写必填信息。 该包可以命名为任意名称,我选择使用Maven工件标识符:
spring-social-github
。
创建一个版本
-
文件只能添加到版本中,因此需要首先创建版本。 在软件包详细信息页面上,单击“新版本”链接(第二列,第一行)。
在打开的页面上,填写版本名称。 请注意,不接受快照,仅通过
-SNAPSHOT
后缀进行检查。 我选择使用1.0.0.BUILD
。
上传文件
-
创建版本后,文件终于可以上传了。 在顶部栏中,单击“上传文件”按钮。 拖放所有所需的文件,当然是主要的JAR和POM,但也可以包括源JAR和Javadoc JAR。 注意Target Repository Path字段:应将其设置为Maven工件的逻辑路径,包括
groupId
,artifactId
和用斜杠分隔的version
。 例如,我的用例应解析为org/springframework/social/spring-social-github/1.0.0.BUILD
。 请注意,您可以等待上载的文件,而不是填写此字段,因为Bintray将检测到该上载,分析POM并建议自动进行设置:如果合适-可能的话,只接受该建议。
发布
-
上载文件还不够,因为这些文件在发布之前是临时的 。 有一个大的警告警告:只需单击右侧边框上的“发布”链接即可。
此时,您只需要在POM中添加Bintray存储库。
<repositories>
<repository>
<id> bintray </id>
<url> http://dl.bintray.com/nfrankel/maven </url>
<snapshots>
<enabled> true </enabled>
</snapshots>
</repository>
</repositories>
翻译自: https://blog.frankel.ch/better-developer-to-developer-collaboration-with-bintray/
bintray