常用的maven命令
- compile:编译
- clean:清理
- test:测试
- package:打包
- install:安装
idea的maven配置
idea中创建一个maven的web工程
选择maven-archetype-webapp工程模板
依赖范围
-
A依赖B,需要在A的pom.xml文件中添加B的坐标,添加坐标时需要指定依赖范围,依赖范围包括:
○ compile:编译范围,指A在编译时依赖B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
○ provided:provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用,provided依赖在编译和测试时需要,在运行时不需要,比如:servletapi被tomcat容器提供。
○ runtime:runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc 的驱动包。由于运行时需要所以runtime范围的依赖会被打包。
○ test:test范围依赖在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以test范围依赖不会被打包。
○ system:system范围依赖与provided类似,但是你必须显式的提供一个对于本地系统中JAR文件的路径,需要指定systemPath磁盘路径,system依赖不推荐使用。
-
测试总结:在maven-web工程中测试各个scop。
○ 默认引入的jar包-------compile【默认范围可以不写】(编译、测试、运行都有效)
○ servlet-api、jsp-api-------provided(编译、测试有效,运行时无效防止和tomcat下jar冲突)
○ jdbc驱动jar包----runtime(测试、运行有效)
○ junit-----test(测试有效)
依赖范围由强到弱的顺序是:compile>provided>runtime>test
项目中添加的坐标
peovided
设置jdk编译版本
1.8