java - 私下分发 jar 并解决其依赖关系的最简单方法是什么?

标签 java android maven gradle

我是一名 Android 开发人员,我的用例非常基本。我有一个java库。我想与我的队友分享这个 jar 作为一个可重用的功能。

到目前为止我已经尝试过,

按照本指南从 ./gradlew jar 构建 .jar。但是当我在 Android Studio 中包含相同的 jar 时,jar 的依赖关系没有得到解决。

我无法在 bintray 或 mavencentral 上发布它。因此,我按照以下步骤使用 maven-publish gradle 插件来publishToLocal。这也没有帮助。事实上,这根本没有发布任何内容。

我使用了 gradle Shadow jar 插件。它使 jar 变“胖”,即将大小从 25KB 增加到 3MB。

我想要的只是在我的团队中分享一个 jar 。还有要解决的传递依赖关系。

有人可以帮忙吗?

最佳答案

要解决依赖关系,您需要一个 POM 文件,该文件需要托管在 Maven 存储库上。

在此博客文章中,解释了如何使用 bitbucket 作为您的私有(private) Maven:https://jeroenmols.com/blog/2016/02/05/wagongit/

帖子中的 TL;DR 是:

将此脚本添加到模块 gradle:

apply from: 'https://raw.githubusercontent.com/JeroenMols/GitAsMaven/master/publish-bitbucket.gradle'

将这些数据添加到项目gradle.properties

ARTIFACT_VERSION=<version_here>
ARTIFACT_NAME=<libraryname_here>
ARTIFACT_PACKAGE=<packagename_here>
ARTIFACT_PACKAGING=jar //You could also use aar

COMPANY=<bitbucket_team_company_here> //Username if not part of team
REPOSITORY_NAME=<bitbucket_reponame_here>

将这些数据添加到您的计算机全局 gradle.properties (在 linux 上位于 ~/.gradle/gradle.properties (在 mac/windows 上您必须自己弄清楚)

USERNAME=<username_here>
PASSWORD=<password_here>

执行./gradlew uploadArchives将其发送到私有(private)maven。

在您的其他项目中添加新的存储库:

    maven {
        credentials {
            username USERNAME
            password PASSWORD
        }
        url "https://api.bitbucket.org/1.0/repositories/<your user name>/<the repo name>/raw/releases/"

关于java - 私下分发 jar 并解决其依赖关系的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47683783/

相关文章:

java - 使用 MediaWiki 从 Wikia 页面提取文本,但返回时一团糟 有没有更好的方法可以从每个部分提取文本?

java - Apache Kafka - 关于主题/分区的 KafkaStream

android - 设置android View 可点击

java - 如何用 ant 从 pom.xml 编译 jar?

java - 在 ubuntu 中安装 java、tomcat、eclipse 和 maven

java - 使用 hibernate 在 hsqldb 中选择更新

java - 将txt文件中的多种数据类型读取到arrayList中 - Java

java - 我该如何修复 'android.os.NetworkOnMainThreadException' ?

android - 从谷歌驱动器读取word文件时获取特殊字符

java - 如何在Android上使用jena本体API?