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

来源:互联网 发布:mac os x office 编辑:程序博客网 时间:2024/05/16 06:14


背景:接触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、关键还是实践,有理论知识的支撑,相信在实践中能够更顺利。





0 0
原创粉丝点击