- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我最近为 Java 编写了一个第 3 方库。目前,我正在通过 Github 和我拥有的网站分发该库,我可以在该网站上下载 JAR 文件。我想这样做,以便开发人员可以使用 Gradle 和 Maven(以及可能的其他构建自动化工具)轻松地将我的第 3 方库包含在他们的项目中。
我是 Maven、Gradle、Bintray、JCenter、MavenCentral、Ivy 等的新手。但是,我确实有 Ant、Java 和 Linux 方面的经验。
我一直在尝试学习如何使用上述工具/平台发布我的第 3 方库,但我感到很困惑。
基本上,任何人都可以告诉我上述所有技术是怎么回事吗?不要觉得有义务回答这篇文章中所有以问号结尾的句子。这些问题主要是为了展示我目前的理解水平。简单概述一下这些技术如何协同工作会很棒,如果可能,还可以回答本文标题中的问题。
最佳答案
我会尝试回答所有以问号结尾的句子:)
Based on what I've read, Gradle, Maven, and Ant are competing technologies. So, why then, in the context of actual use-case scenarios, does Gradle seem to be so intertwined with Maven?
除了作为构建工具和依赖管理器(Maven 与 Gradle 竞争)之外,Maven 还引入了标准 Artifact 描述符(POM 文件)、标准项目布局(src/main/java 等)和标准 Artifact 布局(groupId/version/artifactId-version.ext
) 由于 Maven 的流行,它成为了行业中事实上的标准。它们并不是特别糟糕,所以它们暂时保留下来,Gradle 也可以与它们一起工作。
另外,在Maven已经格外流行的时候,Gradle出现了。为了 catch 这种流行的技术,Gradle 必须提供一个干净、简单的迁移路径,这意味着支持 Maven 结构的项目、Maven 结构的本地缓存等。
Bintray advertises itself as a software publishing and distribution platform. So, why was there a need to create JCenter as something distinct from the rest of Bintray? What can JCenter do that Bintray can't?
JCenter与 Bintray 不是“不同的东西”。 JCenter 是一个 repository在 Bintray 里面。这个存储库很特别(我们称这种类型的存储库为 "Central Repository" ),因为它由 Bintray 团队自己维护,并且包含(或链接)世界上最大的 Java 库集合。对于许多不打算通过 Bintray 发布他们的工作并且不关心其他人的个人存储库的 Java(或 Android)开发人员来说,Bintray 上唯一感兴趣的是 JCenter。因此,人们将 JCenter 视为独立的东西。
I've created a test package and version on Bintray and I uploaded a JAR file to the version. Is it possible to write a Gradle script that will be able to include that JAR file as a dependency in a Java project?
当然。 “设置我”按钮会打开一个窗口,您可以在其中找到有关如何在 Gradle 中添加个人存储库的说明。完成后,您存储库中的 Artifact 将可用于在您的 Gradle 项目中进行解析。
Or does the package need to be "linked" with JCenter?
将您的包包含在 JCenter 中的好处是,其他熟悉 JCenter 作为第 3 方依赖项来源但不熟悉您在 Bintray 上的存储库的开发人员将能够找到并使用您的库。
希望对您有所帮助。
我在 JFrog , 背后的公司Bintray和 [artifactory] , 请参阅 my profile获取详细信息和链接。
关于java - 如何发布常规的非 Android Java 库,以便通过 Maven 和 Gradle 构建脚本将其包含在 Java 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35615548/
在 spring-security项目,在 build.gradle文件,以下插件可用: apply plugin: 'io.spring.nohttp' apply plugin: 'locks'
我正在尝试使用gradle任务作为“与操作系统无关的shell脚本”。我在编写构建文件的逻辑时没有问题,但是我希望能够从任何文件夹中运行它。 我的第一次尝试是在路径上放置一个带有build.gradl
我在同一目录下有三个具有不同名称的build.gradle dev.build.gradle uat.build.gradle prd.build.gradle 我有4期 “gradle build”
乡亲们 有谁知道如何使用gradle与自定义的build.gradle和settings.gradle一起运行-即两者在一起? 我认为我可以有一个自定义的build.gradle文件(-b标志)-但这
Gradle 配置有两个属性,称为 dependencies和 incoming .根据我的理解,我们可以通过 Gradle 依赖 block 向配置添加依赖,如下所示: dependencies {
我正在测试将我的工件推送到 Nexus Maven 存储库。我正在使用 gradle这样做。 gradle upload有什么区别和 gradle publish ? 最佳答案 目前gradle提供了
这里有一个类似的问题:Gradle properties not being read from ~/.gradle/gradle.properties,但它不能解决我的问题。 在我看来,gradle
如何检索 Gradle 本身的版本 以编程方式从 Gradle 插件中? 最佳答案 刚刚发现可以使用任何一种方法来解决它 getProject().getGradle().getGradleVersi
2 个 gradle 项目,A 和 B,其中 A 定义了对 B 的编译依赖。为 maven 和 gradle 项目启用了 JAR 的重新映射。我试过启用和禁用自定义工具模型。我在 init.d 目录下
如何从 gradle 运行另一个 gradle 脚本。我有多个 gradle 脚本可以在 /test 下运行测试目录。 /build.gradle使用要运行的测试 gradle 文件的名称调用。例如
我已经看到了多模块项目的不同布局,其中有些项目只有一个 build.gradle。而其他项目将有 build.gradle在根和 build.gradle在每个子项目中。我想知道有什么区别以及首选哪种
我对 Gradle 生命周期有一个基本的询问。我的项目是一个多模块项目。 我注意到以下命令: ./gradlew clean bignibou-server:run 不等于运行以下两个命令按顺序运行:
我有一个项目,其中包含一个子项目,如下所示: Root Project |----gradle.build |----SubProject |----|----gradle.build 这里的子项目包
我有 gradle 项目,我想向不使用 gradle 或 maven 等构建工具的项目添加依赖项。 目录结构如下: commonfolder\ gradleProject\ b
我想创建一个类来帮助我加载不同类型的属性(local.properties,gradle.properties,$GRADLE_HOME/gradle.properties,环境变量,系统属性和自定义
我有一个多模块项目,其目录结构如下: proj |-modA |-modB |-modMain \-modSysTest 依赖项是: modB -> modA modMain -> modB modM
我正在尝试创建一个可以在 --offline 模式下工作的 gradle 项目的副本。除了一个步骤,我已经自动化了所有步骤。我无法自动将插件 jar 下载到 gradle 缓存中。 我的离线分发通过指
基本上我想这样做: Use Gradle function from other gradle file 也就是说,从另一个 gradle 脚本中调用一个函数。问题是我的 build.gradle 在
我有一个简单的 gradle 插件,我想试用一下,但我不确定如何“请求”gradle 运行我的测试 这是我要修改的 block (在我的 gradle 构建文件的顶部) buildscript {
在 Android Studio 中创建项目时,我收到以下错误消息。 Failed to import new Gradle project: Could not install Gradle dis
我是一名优秀的程序员,十分优秀!