我如何在没有Gradle的情况下将Gradle项目转换为可离线编译

时间:2018-11-08 16:29:00

标签: java gradle

我最近一直在使用Gradle作为我选择的构建工具,为大学课程的一部分构建一个Spring Boot应用程序。

我每天都根据客户使用maven或Gradle编写Spring Boot应用程序,因此我错误地继续使用Gradle进行开发,却没有意识到作为课程作业规范的一部分,该项目必须能够使用没有任何构建工具的默认Java编译器。而且即使软件应该独立于IDE,也必须将其导出为Netbeans项目(但这是一个要点)。对于生产企业应用程序而言,这些要求似乎是落后的。

所以我的问题是,是否有任何简单的转换器/插件可以让我将其所有依赖项的Gradle项目转换/导出为Vanilla Java项目,而不必亲自下载每个依赖项?为了进一步阐明我真正关心的唯一问题是依赖关系,因为我尚未在构建文件中进行任何自定义任务。

很显然,网络上有太多关于如何将香草转换为Gradle或将Maven转换为Gradle的信息,由于结果被淹没,我似乎无法通过搜索找到想要的答案。

如果还没有可以使用的插件,我可能会考虑在与我本人相同的情况下为其他人编写一个插件。

1 个答案:

答案 0 :(得分:3)

您永远不会获得gradle插件,该插件可以将build.gradle文件转换为原始javac执行。 Gradle具有许多功能,几乎是不可能的。

为帮助您,您可以在本地保存罐子,例如

task copyJars {
   doLast {
         copy {
             from configurations.compile
             into "$buildDir/jars/compile" 
         } 
         copy {
             from configurations.runtime.minus(configurations.compile)
             into "$buildDir/jars/runtime" 
         } 
         copy {
             from configurations.testCompile.minus(configurations.compile)
             into "$buildDir/jars/testCompile" 
         }      
         copy {
             from configurations.testRuntime.minus(configurations.testCompile).minus(configurations.runtime)
             into "$buildDir/jars/testRuntime" 
         }      
    } 
}