我们有一个依赖dep,它最初是用Java 8编译的。需要这种依赖的项目是用Java 6编译和运行的。这会导致“糟糕的主要版本”错误。
我们在dep的中央存储库中提供了源代码,并在build.gradle中查找源代码的下载方式:
compile('dep_group:dep_artifact:version:sources')
然后在JDK 6中重新编译以生成所需的jar文件。
可能吗?还是有什么建议?
或者,我们必须下载脱机代码,使用JDK 6重新编译,发布jar文件,最后将其添加为依赖项。但我们希望避免这条漫长的路线。这仅用于测试目的,我们不希望发布使用旧版Java编译的新版本。
如果没有原始构建文件(POM / build.gradle / ant.xml),则无法重新编译库。如果它是一个相当简单的库 - 可能的选择是将其源作为附加模块包含在多模块Gradle项目中:
最后,在构建项目时,Gradle将编译此模块并将其用作主模块的依赖项。
不要忘记检查库许可证,例如Apache License 2允许这样简单地使用源。