【问题标题】:Statically linking maven and gradle dependencies静态链接 maven 和 gradle 依赖项
【发布时间】:2013-07-05 12:14:25
【问题描述】:

我正在使用 hector 和 astyanax 项目。这些项目过去需要 maven,现在 astyanax 需要 gradle。

我想将其中一个项目静态链接到我的 java 项目(不是使用 maven/gradle 构建的)。我对每次发布新版本时更新 astyanax 的版本不感兴趣。我对我自己的项目的 mavenizing/gradelizing 不感兴趣。

因此,出现了两个问题:1. 获取 astyanax 罐子。 2. 获取依赖罐。

起初,没有时间彻底了解 maven(离开我的草坪!),我将全局 .maven 目录中的所有 jar 文件复制到我的项目中,并链接到它们。问题是,这是一个非常混乱的解决方案。

有没有更简单的方法来获取使用 gradle/maven 库所需的所有 jar? (虽然我不介意使用 gradle 来构建 astyanax,但我不想用它来构建我自己的项目)。

获取 jars 进行分发,似乎是一个非常基本的用例,我在这里错过了一个简单的方法吗?

【问题讨论】:

    标签: maven gradle astyanax


    【解决方案1】:

    astyanax 以 com.netflix.astyanax:astyanax:1.56.42 的形式发布到 maven Central。任何从 Maven 解析的构建工具(Grails、Maven、Gradle、Buildr、SBT)都可以对 Astyanax 建立依赖关系,并传递下载其依赖关系。它是使用 Gradle 构建的这一事实并不会改变它的使用方式。

    根据您的问题,不清楚您想如何解决这些库。如果您不想使用工具(Grails、Maven、Gradle、Buildr、SBT),那么您必须从 Maven Central 手动导航每个依赖项及其依赖项。对于现代 Java 项目来说,手动下载依赖项的情况已经很少见了,复杂的依赖关系图的实用性使其令人望而却步。

    【讨论】:

    • 我可以用 gradle 编译 astyanax。我不想手动构建它,但是我想手动构建我自己的项目。 Astyanax 需要 13 个额外的罐子。在我用 gradle 构建 astyanax 之后,除了手动梳理我的本地 gradle 存储库之外,还有什么方法可以获得这 13 个 jar 文件?如果我想将我的项目分发给用户,我该如何在无法访问它所依赖的二进制 jar 的情况下这样做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    相关资源
    最近更新 更多