maven:是一个项目管理工具,通过对象模型构建项目,在构建项目时只需要在配置文件中写入需要引入依赖的坐标,就可以将资源引入到项目中去。
引入一条依赖的结构如下:
<dependency>
<!-- 依赖文件存放仓库中的目录地址,也为公司项目名称-->
<groupId>mysql</groupId>
<!-- 根据上一条定位到目录,再根据具体导入的依赖名称引入依赖 -->
<!-- 具体的依赖名称-->
<artifactId>mysql-connector-java</artifactId>
<!-- 项目的版本号-->
<version>5.1.6</version>
<!-- 作用域-->
<scope></scope>
</dependency>
在一些特殊的依赖中需要指定依赖的作用域 scope 属性标签
一共有5个类型的作用域
complie(默认):当不指定scope属性时,默认为complie值,在项目编译,运行,测试时均有效,当对项目进行打包时,将依赖文件打包到项目中
runtime:在项目运行,测试时有效,在编译时 无效。(只在项目运行时使用,在编译时不打包到项目中)
provided:在项目环境或者容器中提供才使用的;例如:在开发web项目中使用的servlet.api,才能开发servlet,但是在运行环境tomcat中lib目录下已经包含servlet.apt,因此可以不用打包到姓名当中,在运行的容器中提供则会使用容器提供的依赖文件
test:该依赖文件在项目编译和运行时并不使用,只有在测试功能时才使用。如junit依赖
system:指引用的依赖并不是存放在仓库中的依赖,而是存放在系统目录中的依赖文件,通过这种方式引用本地的jar文件,因此该类依赖可能并不和maven仓库中的依赖存放在一个目录当中,所以使用时需要通过标签<systemPath>指定本地jar文件的路径.(一般不建议使用)