Maven初体验
因为三年的学习中,随着自己学习Java的深入,也越来越理不清自己的应用的依赖关系。比如起初
因为一个StringUtil而导入的Apache的commens扩展包。
还有玩数据库时导入的MySQL驱动包随后还有oracle的驱动包
然后玩JavaWeb从Tomcat中拿了个servlet的包
然后是我学习最漫长的一段时间中,从spring,springMVC,mybatis,随后的hibernate,Struts2,无数的包就不列出了。
随后又玩大数据和云计算,玩起了hadoop,hdfs,yarn,MapReduce,导入的包很多很复杂,不过幸好eclipse的插件帮我完成了这个导入的过程。
玩大数据的过程中做反向索引又去引入的分词包analyze。
随后的项目过程中用到将数据导出到外部excel中,用到了Apache的POI。
...
随着学习的深入,每次构建一个项目都需要去思考依赖关系,而且往往会在做项目的过程中或者调试的过程中因为导入的包不足而报错。
其实之前早就浅浅接触过maven和GitHub,但是因为当时自己的项目规模完全还没到需要系统管理的程度,所以暂时搁置在一边。但是随着这些烦恼的升级,我决定捡起maven去解决当前的困扰。
本文不对maven的具体知识进行细节展开,既是本人对近期maven学习的总结也是对maven的总体介绍。适合不知道maven是什么但是希望总体了解它的人阅读,不适合作为学习文档。
Maven是Apache旗下的顶级项目之一。主要用于项目的管理,现在许多大项目都采用maven来管理团队的项目。Maven可以解决项目开始时导入依赖的困扰,而且能自动生成项目测试报告等等高效工作。
如果你的项目需要一些外部依赖的jar包只需要在pom中显示导入’仓库’中中包即可,所以整个项目只需要统一维护一个pom文件即可。
pom文件解析:
仓库的概念:maven项目在build的过程中首先会检查项目中pom定义的依赖关系,然后会去仓库中提取需要的依赖,如果没有则从全球中央仓库中下载。
maven的项目目录结构:
src
main
java
test
java
main的java目录用于存放源代码,test的java目录用于存放测试代码。
Maven开发的几个重要过程解读:
clean compile test package install
1.compile
编译这个项目。第一次编译根据XML检查依赖,并构建(build)项目。如果本地仓库和世界仓库都找不到依赖的jar包则报错。依赖解决完毕后会对main中的java和test目录下的.java文件进行编译,然后输出到与src同目录的一个target目录的classes下。
2.test
运行test中编译出的那些测试文件,进行测试后生成测试日志,日志也输出到target下。
3.clean
删除target
4.package
打包这个项目到一个jar包中
5.install
将本模块保存到本地仓库中
writeBy --------------------------------------------------------------------------------2018-4-11