Maven的使用和学习初体验

简介:

Maven初体验

因为三年的学习中,随着自己学习Java的深入,也越来越理不清自己的应用的依赖关系。比如起初

因为一个StringUtil而导入的Apachecommens扩展包。

还有玩数据库时导入的MySQL驱动包随后还有oracle的驱动包

然后玩JavaWebTomcat中拿了个servlet的包

然后是我学习最漫长的一段时间中,从springspringMVCmybatis,随后的hibernateStruts2,无数的包就不列出了。

随后又玩大数据和云计算,玩起了hadoophdfsyarnMapReduce,导入的包很多很复杂,不过幸好eclipse的插件帮我完成了这个导入的过程。

玩大数据的过程中做反向索引又去引入的分词包analyze

随后的项目过程中用到将数据导出到外部excel中,用到了ApachePOI

...

 

随着学习的深入,每次构建一个项目都需要去思考依赖关系,而且往往会在做项目的过程中或者调试的过程中因为导入的包不足而报错。

 

其实之前早就浅浅接触过mavenGitHub,但是因为当时自己的项目规模完全还没到需要系统管理的程度,所以暂时搁置在一边。但是随着这些烦恼的升级,我决定捡起maven去解决当前的困扰。

 


本文不对maven的具体知识进行细节展开,既是本人对近期maven学习的总结也是对maven的总体介绍。适合不知道maven是什么但是希望总体了解它的人阅读,不适合作为学习文档。

 

MavenApache旗下的顶级项目之一。主要用于项目的管理,现在许多大项目都采用maven来管理团队的项目。Maven可以解决项目开始时导入依赖的困扰,而且能自动生成项目测试报告等等高效工作。

如果你的项目需要一些外部依赖的jar包只需要在pom中显示导入仓库中中包即可,所以整个项目只需要统一维护一个pom文件即可。

 

pom文件解析:

 
 
 
 

仓库的概念:maven项目在build的过程中首先会检查项目中pom定义的依赖关系,然后会去仓库中提取需要的依赖,如果没有则从全球中央仓库中下载。

maven的项目目录结构:

src

     main

         java

     test

         java

82309b69db46689182e48f4e53444baa74df8994

mainjava目录用于存放源代码,testjava目录用于存放测试代码。

 

Maven开发的几个重要过程解读:

clean  compile  test   package    install

 

1.compile  

编译这个项目。第一次编译根据XML检查依赖,并构建(build)项目。如果本地仓库和世界仓库都找不到依赖的jar包则报错。依赖解决完毕后会对main中的javatest目录下的.java文件进行编译,然后输出到与src同目录的一个target目录的classes下。

2.test

运行test中编译出的那些测试文件,进行测试后生成测试日志,日志也输出到target下。

3.clean

删除target

4.package

打包这个项目到一个jar包中

 

5.install

将本模块保存到本地仓库中

 

writeBy --------------------------------------------------------------------------------2018-4-11


相关文章
|
4月前
|
XML Java Shell
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(一)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
185 1
|
1天前
|
Java 应用服务中间件 测试技术
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。 本文主要了解Maven基础知识及基础应用,旨在为之后的进一步学习奠定基础。 内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。 仅供参考。
127 80
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
|
4月前
|
XML Java Maven
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(二)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
101 0
|
1月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
40 2
【前端学java】如何从前端视角快速学习Maven
|
1月前
|
设计模式 IDE Java
|
3月前
|
Java 关系型数据库 Maven
SpringBootWebProject学习4、maven打war包
SpringBootWebProject学习4、maven打war包
29 1
|
3月前
|
前端开发 Java 关系型数据库
SpringBootWebProject学习2、默认maven使用
SpringBootWebProject学习2、默认maven使用
22 1
|
3月前
|
XML Java 关系型数据库
SpringBootWebProject学习2、maven配置
SpringBootWebProject学习2、maven配置
40 1
|
4月前
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
144 0
|
Java 应用服务中间件 Maven
零基础入门学习Maven(一)
零基础入门学习Maven(一)