【问题标题】:How to use the library of other projects in Java with Gradle如何通过 Gradle 使用 Java 中其他项目的库
【发布时间】:2018-07-09 19:06:25
【问题描述】:

我还是个开发新手,不知道如何解决我的问题。

我有一个项目需要其他代码才能运行。 我知道通过添加路径 n 我的 java 的导入部分可以访问库。 我也明白,通过向我的build.gradle 文件添加编译依赖项,可以告诉它该库在哪里。

我的问题分为两部分:
无法解析依赖怎么办?

我已经从 git hub 下载了源代码。

我希望能够将源代码添加到我的项目中。

现在,我不想将它直接添加到我的包中,而是 gradle 的方式。只需指向它。

所以我真正的问题是,如何在不将整个源代码添加到包中的情况下将库放入我的代码中? 我必须在我的 java 文件的导入部分做什么?


附:
提前致谢。 由于我仍在学习这些概念,因此我的问题可能没有以最佳方式构建。

【问题讨论】:

  • 您使用的是 Maven 还是 Gradle?因为如果您使用 Maven 并且您的 IDE 设置为使用 Maven,您只需将其添加到 pom.xml 中,它应该会立即弹出 - 尽管您可能需要重建您的项目,具体取决于具体情况
  • 我正在使用 gradle。我使用在线 maven 到 gradle 转换器将其格式化为 gradle syle。
  • 也许这个关于 SO 的问题/答案会有所帮助。 (stackoverflow.com/questions/20700053/…)
  • @StefanFreitag 我的来源不是 jar,看起来大多数答案都使用它。
  • @basviccc 使用 3rd 方 jars 是默认设置。只有第 3 方源会导致您当前所处的位置(我猜)——您必须编译代码并且还必须解决所有必需的依赖项。也许值得在 github repo 上为您的问题添加信息

标签: java maven gradle dependencies classpath


【解决方案1】:

您可以从这些来源创建一个 jarfile:

jar cf program.jar -C path/to/classes .

来源:https://stackoverflow.com/a/18146453/7625131
更多信息:https://docs.oracle.com/javase/tutorial/deployment/jar/build.html


之后你只需要使用 gradle 引用它:

repositories {
   flatDir {
       dirs 'libs'
   }
}


dependencies {
   compile name: 'gson-2.2.4'
}

来源:https://stackoverflow.com/a/20700183/7625131

【讨论】:

    【解决方案2】:

    正如 Mett 强调的那样。 为您从 github 克隆的项目创建一个 jar。将其添加到所需项目的 buildpath 中。如果您使用的是 mavengradle 等构建自动化工具,请在本地存储库中安装 jar。然后在您的项目中将其用作依赖项

    【讨论】:

    • 刚刚发现我拥有的源代码,它本身依赖于其他代码。那么我该如何整合呢?我可以将它们都制作成 jar 并将它们存储在我的存储库中,它的工作方式是否相同? (从技术上讲,因为这只是一个指向问题,对吧?
    • 您有 2 个选项。第一种选择是构建链中的最后一个项目。然后将其添加为依赖项。第二种选择是单独构建所有依赖的项目 jar 并将它们添加为依赖项。您必须根据您的项目找出最佳解决方案。
    • 我正在阅读代码,这似乎是首先构建的顺序。你知道那是什么意思吗?选项 2 是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2018-05-28
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    相关资源
    最近更新 更多