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

标签 java gradle

我最近一直致力于使用 Gradle 作为我选择的构建工具为大学类(class)构建一个 spring boot 应用程序。

我每天根据客户端使用 maven 或 Gradle 编写 spring boot 应用程序作为工作,所以我错误地继续使用 Gradle 开始开发,而没有意识到作为类(class)作业规范的一部分,项目必须能够使用没有任何构建工具的默认 java 编译器。而且它必须作为 Netbeans 项目导出,即使软件应该独立于 IDE(但这是一个方面)。这些要求对于生产企业应用程序来说似乎是落后的,但没有商量余地。

所以我的问题是是否有任何简单的转换器/插件可以让我将我的 Gradle 项目及其所有依赖项转换/导出到 vanilla java 项目,而无需自己手动下载每个依赖项?为了进一步阐明我真正关心的唯一事情是依赖关系,因为我还没有在构建文件中进行任何自定义任务。

显然,网络上有太多关于如何将 vanilla 转换为 Gradle 或 Maven 为 Gradle 的信息,我似乎无法通过搜索找到我正在寻找的答案,因为结果太多了。

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

最佳答案

你永远不会得到一个 gradle 插件,它将一个 build.gradle 文件变成一个普通的 javac 执行。 Gradle 具有如此多的功能,这几乎是不可能的。

为了在路上帮助您,您可以将 jar 保存在本地,例如

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" 
         }      
    } 
} 

关于java - 如何在没有 Gradle 的情况下将 Gradle 项目转换为离线编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53212031/

相关文章:

java - Spring Java 上下文配置最佳实践

gradle - 在多项目 gradle 构建中运行所有微服务

groovy - Gradle任务永远不会是最新的

java - charAt().equals() 导致 "char cannot be dereferenced"

java - 对Android中AudioTrack播放的音频进行频率过滤?

java - 重新启动应用程序时权限拒绝 : opening provider com. android.providers.media.MediaDocumentsProvider

maven - JFrog Artifactory的系统日志中出现409 HTTP错误

android - 无法同步Gradle项目/无法使用哈希字符串找到目标

java - Gradle绝对/相对路径

Java:声明一个变量但说它不存在