1 maven 和 make、ant 项目编译工具的区别
参考:http://blog.youkuaiyun.com/j50435578/article/details/9698071
2 关于既使用maven编译,又使用lib下的Jar包的问题
参考:http://blog.youkuaiyun.com/catoop/article/details/48489365
3 maven常用命令详解
http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html
需要注意:
<type> ,package类型,一般不用写,默认是jar。还有,jar/war/pom/maven-plugin/ear等。
<scope>,依赖范围,我简记为“能见度”。例如,
test=测试。仅对测试类有效,在java类中引入会报错的。例如,JUnit
compile=编译+测试+运行,默认不写则是这种编译方式,对于编译、测试、运行都有效。例如,spring-core
provided=编译+测试。对于编译和测试有效,运行时无效。例如,servlet-api,其在编译和测试时需要使用,但在运行时由于容器已经提供,所以 不需要mvn重新的引入一遍。
runtime=运行时。例如,JDBC驱动实现,类的编译只需JDK提供的JDBC接口即可,在真正执行测试或运行时才需实现上述接口的具体JDBC驱动。
system=// 这个可以不用理解。
import=导入。
<optional>,可选依赖。例如,A->B,B->C(optional=true),那么A将对C不形成传递依赖。
<exclusions>,排除依赖。例如,A->B, B->C(1.0-SNAPSHOT),而我实际想用C2.0,那么就需要在B中将C给排除出去。
maven clean compile : 删除项目target下的所有东西,进行项目的编译+测试+运行
maven clean package : 删除项目target下的所有东西,进行项目的编译+测试+运行+部署(在target目录下生成war文件进行部署。)