在build.gradle文件中,"provided"是一种依赖配置,用于指定在编译时需要使用的依赖。它通常用于指定在编译期间需要的依赖,但在运行时不需要。
"provided"依赖的作用是确保在编译代码时可以使用特定的库或框架,但在运行时不会将该依赖包含在最终的构建输出中。这对于一些Java EE开发中常见的情况很有用,例如,当使用Servlet容器(如Tomcat或Jetty)时,Servlet API是编译时需要的依赖,但在运行时由容器提供。
以下是使用"provided"配置的示例:
dependencies {
// 编译时需要使用的依赖
compile 'com.example:my-library:1.0'
// provided依赖,仅在编译时需要,不会包含在输出中
provided 'javax.servlet:javax.servlet-api:4.0.1'
// 运行时需要的依赖
runtime 'org.apache.tomcat.embed:tomcat-embed-core:9.0.41'
}
在上面的示例中,"javax.servlet:javax.servlet-api:4.0.1"是一个provided依赖,它只在编译时需要,而不会包含在最终的构建输出中。相反,运行时需要的依赖可以使用"runtime"配置指定。
请注意,"provided"配置在Gradle 7.0及以上版本中已被弃用,推荐使用"compileOnly"配置来替代。