Java大牛养成记(10)----Maven


背景:接触java项目已经两天了,从环境的搭建到修改里面的小bug,带着大大的疑惑向前前进着,里面的好多内容自己不是很了解,今天师姐还给我们讲解了一下框架,貌似有点感觉,师姐一直说我们的项目是Maven项目,在搭建环境的时候调试代码的时候也遇到了这个,但是一直不知道它是什么,用它有什么好处,好奇心攒到一定程度就会爆发,听完师姐的讲解自己就查询关于Maven方面的内容。下面简单做一下总结。


一、何为Maven


    Maven 是一个项目管理和构建自动化工具,通过它便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,打包发布等。 

    Maven项目的结构:


    一个 maven 项目在默认情况下会产生 JAR 文件,另外 ,编译后 的 classes 会放在 ${basedir}/target/classes 下面, JAR 文件会放在 ${basedir}/target 下面。


二、Maven安装

    

    在上一篇博客《Java大牛养成记(9)----搭建java项目开发环境》中已经给大家介绍过了,这里不再赘述。


三、特点


1、jar包依赖

    这个也许是maven最突出的特点,使用maven不需要上网单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下载jar包到我们的项目中。这样,别人开发或者使用这个工程时,不需要来回的拷贝jar包,只需要复制这个pom.xml就可以自动的下载这些jar包。
  而且,如果我们自己下载jar包,可能会造成版本的不一致,这样在协同开发的过程中就有可能造成代码运行的不一致。通过使用maven精确的匹配jar包,就不会出现这种问题了。


2、项目坐标

    Maven通过特定的标识来定义项目名称,这样既可以唯一的匹配其他的jar包,也可以通过发布,使别人能使用自己的发布产品。这个标识就被叫做坐标,其实就是简单的xml而已:

  <groupId>com.test</groupId>
  <artifactId>maventest</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>maventest</name>
  <url>http://maven.apache.org</url>

     groupId:所述的项目名称,由于有的项目并不是一个jar包构成的,而是由很多的jar包组成的。因此这个groupId就是整个项目的名称。
     artifactId:包的名称。
     version:版本号。
     packaging:包的类型,一般都是jar,也可以是war之类的。如果不填,默认就是jar。
     name和url,一个是名称,一个是maven的地址。主要就是上面的几个参数。


     当你想依赖什么jar包的时候就可以通过下面的方式依赖:

 <dependencies>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
  </dependencies>


    当建立一个Maven的项目,pom.xml文件将被解析,如果看到 log4j 的 Maven 坐标,然后 Maven 按此顺序搜索 log4j 库:
    在 Maven 的本地仓库搜索 log4j 
    在 Maven 中央存储库搜索 log4j
    在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)
    Maven 依赖库管理是一个非常好的工具,为您节省了大量的工作。


3、测试驱动

    Maven是测试驱动的开发思路,因此工程创建初期,就包含两个文件夹,main和test。一个用于放置开发的java文件,一个用于写test单元测试。这样每次开发的时候,提前设计单元测试,就能帮助减少BUG。


四、推荐链接

    

    maven教程

    Maven那点事儿(Eclipse版)


五、学习心得


1、遇到的就不要放过,这样你能学习到更多。

2、查询的过程就是查漏补缺的过程,学习过的加深印象,没有学习过的补充一下自己的知识库。

3、关键还是实践,有理论知识的支撑,相信在实践中能够更顺利。





评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值