【问题标题】:Gradle: include directory as dependencyGradle:包含目录作为依赖项
【发布时间】:2020-05-10 17:57:02
【问题描述】:

我有多个 Gradle Java 项目,我试图在其中添加本地项目的源代码,其根目录为 /library,作为目录的依赖项,就像我可以添加 JAR 的依赖项一样。我尝试使用compile files('/library/src/main/java'):包是递归导入的,但 *.java 文件被单独留下。我可以将/library/src/main/java 添加为项目的依赖项吗?我的目标是在对库进行更改时不必重新编译。

【问题讨论】:

  • 首先,一旦你对你的 lib 或依赖项进行了更改,gradle 或你的 IDE 将不得不重新编译源代码以获取 java 类 (.class) 或工件 (.jar)。
  • @KlemensMorbe,那么我可以包含类文件吗?

标签: java gradle directory dependencies


【解决方案1】:

Gradle 通过composite builds 允许这样做。 要包含构建 /library,请将 includeBuild("/library") 添加到依赖构建的 settings.gradle 文件中。然后用正确的组和名称在build.gradle 中将其声明为依赖项;明确的版本不是必需的。就像现在一样,Gradle 将无法解决这个依赖关系,所以最后通过将 includeBuild("/library") 更改为

,用包含的构建替换这个依赖关系
includeBuild("/library") {
    dependencySubstitution {
        substitute(module: "<group>:<name>").with(project(":"))
    }
}

,这将导致之前声明的依赖被/library替换。

使用 IDE 重新加载 Gradle 项目后,/library 中的类应该可用,并且对 /library 所做的任何更改都应该立即对依赖构建可见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-12
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多