
[英]What is the difference between BuildConfig.groovy and Config.groovy?
[英]Grails BuildConfig.groovy, difference between build, compile, and runtime?
BuildConfig.groovy
(1.3.7)中build
, runtime
和compile
之间的区别是什么
grails.project.dependency.resolution = {
plugins {
build "acme:acme-cache:latest.integration"
}
dependencies {
build "com.foo.bar:foobar:1.0.5"
runtime "org.apache.httpcomponents:httpclient:4.0.3"
compile("com.thoughtworks.xstream:xstream:1.3.1")
}
}
build
- 只有构建过程需要的依赖项 runtime
- 运行应用程序所需的依赖关系,但不编译它,例如特定数据库供应商的JDBC实现。 在编译时通常不需要这样做,因为代码仅依赖于JDBC API,而不是其特定实现 compile
- 在编译时和运行时都需要的依赖项。 这是最常见的情况 还有一些其他依赖范围:
test
- 仅由测试所需的依赖性,例如模拟/测试库 provided
- 编译时需要的依赖项,但不应与应用程序打包(通常是因为它是由容器提供的)。 一个例子是Servlet API 似乎前两个答案在编译和构建之间的区别上存在冲突。 我相信build是包含grails compile
和grails run-app
,而compile只是前者。
从Grails 3开始,依赖项由Gradle管理。 grails-app/conf/BuildConfig.groovy
文件已被项目根目录中的build.gradle
文件替换 。
Grails用户指南介绍了如何使用gradle设置grails依赖关系,并参考相关的Gradle文档以获取有关此主题的更多详细信息。
一对grails命令有助于说明差异。 考虑grails run-app
和grails compile
。 grails compile
是编译步骤,将包含编译时依赖项。 grails run-app
是运行步骤,将包含运行时依赖项。 构建依赖项是运行任何这些命令所需的任何内容,例如,挂钩到某些构建事件的自定义脚本。
因此,当您需要确定包含依赖项时,您会选择最适合的那个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.