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

问题描述 投票:0回答:1

我们有一个依赖dep,它最初是用Java 8编译的。需要这种依赖的项目是用Java 6编译和运行的。这会导致“糟糕的主要版本”错误。

我们在dep的中央存储库中提供了源代码,并在build.gradle中查找源代码的下载方式:

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

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

可能吗?还是有什么建议?

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

gradle
1个回答
0
投票

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

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

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

不要忘记检查库许可证,例如Apache License 2允许这样简单地使用源。

© www.soinside.com 2019 - 2024. All rights reserved.