Maven中的scope元素用于定义依赖项在不同构建阶段的可见性和使用范围。它可以设置在pom.xml文件中的
compile(默认):依赖项在所有编译、测试和运行阶段都可见。它会被包含在输出的JAR文件中,并且可以被其他项目的依赖项所使用。
provided:依赖项在编译和测试阶段可见,但在运行期间由应用程序容器或Java运行时提供。这意味着在部署应用程序时,该依赖项不会被包含在生成的JAR文件中。
runtime:依赖项在运行和测试阶段可见,但不会被编译。该依赖项在运行时是必需的,但在编译时不需要,因此它不会被包含在输出的JAR文件中。
test:依赖项仅在测试阶段可见,不会被编译和运行。它主要用于编写单元测试。
system:依赖项类似于provided,但需要显式地指定jar文件的路径。这个scope对于一些无法通过Maven仓库获得的本地依赖项很有用。
import:该scope仅适用于
通过在