如何从源代码重新编译gradle依赖关系?

时间:2018-08-30 16:24:05

标签: gradle

我们有一个依赖项 dep ,该依赖项最初是在Java 8中编译的。需要此依赖项的项目已编译并使用Java 6运行。这会导致“主要版本错误”错误。

我们在中央存储库中提供了可用于dep的源,并在build.gradle中寻找下载源的方式:

compile('dep_group:dep_artifact:version:sources')

,然后在JDK 6中重新编译以生成所需的jar文件。

有可能吗?或有什么建议?

或者,我们必须脱机下载dep的代码,用JDK 6重新编译,发布jar文件,最后将其添加为依赖项。但是我们正在努力避免这条漫长的路。这只是出于测试目的,我们不想发布使用旧版Java编译的新版本。

1 个答案:

答案 0 :(得分:0)

没有原始的构建文件(POM / build.gradle / ant.xml),您将无法重新编译库。如果它是一个相当简单的库,则可能的选择是将其源代码作为附加模块包含在多模块Gradle项目中:

  1. 下载源文件
  2. 在项目中为其创建文件夹
  3. 按照Gradle文档中的描述创建其他模块:https://docs.gradle.org/current/userguide/multi_project_builds.html
  4. 为模块应用Java插件
  5. 以以下格式设置对此项目的依赖:compile(project(':dep'))

最后,当您构建项目时,Gradle将编译该模块并将其用作主模块的依赖项。

不要忘记检查库许可,例如Apache License 2允许如此简单地使用源代码。