###环境变量MAVEN_OPTSjava
###依赖范围 依赖范围就是用来控制依赖与这三种class-path(编译classpath、测试classpath、运行class-path)的关系。api
编译、测试、运行都有效
) 若是没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。测试有效如junit
) 使用此依赖范围的Maven依赖,只对于测试classpath有效,如junit编译测试有效,运行无效,如servlet-api
) 使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时无效。典型的例子是servlet-api,编译和测试项目的时候须要该依赖,但在运行项目的时候,因为容器已经提供,就不须要Maven重复地引入一遍测试运行有效,编译无效,如jdbc驱动
) 使用此依赖范围的Maven依赖,对于测试和运行classpath有效,但在编译主代码时无效。典型的例子是JDBC驱动实现,项目主代码的编译只须要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才须要实现上述接口的具体JDBC驱动。编译测试有效,运行无效
) 该依赖与三种class-path的关系,和provided依赖范围彻底一致。可是,使用system范围的依赖时必须经过systemPath元素显式地指定依赖文件的路径。###依赖调解架构
###依赖优化的命令maven
###快照版本的使用ide
###maven三套生命周期 Maven拥有三套相互独立的生命周期,它们分别为clean、default和site。测试
###版本号命名规范 Maven的版本号定义约定是这样的:<主版本>.<次版本>.<增量版本>-<里程碑版本>优化
###常见pom属性ui
###管理多环境的配置文件spa
<profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- mvn clean package –Pdev --> <env>dev</env> </properties> </profile> <profile> <id>prd</id> <properties> <!-- mvn clean package –Pprd --> <env>prd</env> </properties> </profile> </profiles>
<build> <finalName>${project.name}</finalName> <!--打包时根据参数,选择配置文件--> <filters> <filter>src/main/resources/config/${env}.properties</filter> </filters> <resources> <!--启用maven的profile,对资源文件进行过滤 profiles.active--> <resource> <directory>src/main/resources</directory> <excludes> <!--config的文件仅仅作打包用,打包时maven会扫描配置目录下的文件,并将filter指定的文件的参数替换进去--> <exclude>config/**</exclude> </excludes> <filtering>true</filtering> </resource> </resources> </build>