从零开始,跟我一起做jblog项目(二)Maven

从零开始,跟我一起做jblog项目(一)引言

从零开始,跟我一起做jblog项目(二)Maven

 

maven是一个项目管理工具,尤其适用于JAVA世界

在jblog的开发前期,还没有系统使用过maven

只是在有一次合作开发过程中使用过subclipse以及SVN版本控制,当时了解过maven的一些知识

在正儿八经学习了《Maven实战》这本电子书以后,我认为maven是每一个JAVA程序员都需要了解并使用的

为什么?因为JAVA的世界里,你不可能所有东西都自己来写

要引入的JAR包实在太多,而这些JAR包的版本也实在太多,已经多到一个失控的地步了

在这个失控的JAR包世界里,依赖冲突,重复依赖,依赖臃肿正在不可避免地发生着

不使用maven,你只能需要JAR包时去它们的官网下载,十有八九你就会下载最新版的,而且十有八九就特么用不起来

 

maven给全世界的jar包打上了坐标,每个版本都给你打上了坐标

你可以使用几行XML标签,就能够让maven帮你从中央仓库中精确下载好指定版本的jar包

并且关于此JAR包一些列的依赖JAR包,它都帮你弄好,你绝对会感谢它的

这就是使用maven最大的好处,此外maven还会帮你优化代码结构,构建测试框架,实现打包管理等一些非常实用的功能

 

关于maven的具体使用,推荐下载《maven实战》这本电子书,系统看一下这本书的前六章,不超过100页PDF

相信你可能很快掌握maven的基本配置和用法

jblog项目规划的初期,只集成了Hibernate框架,下面是集成Hibernate的POM.XML文件,随着开发的进展,POM文件也会逐步丰满的

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.newflypig.jblog</groupId>
    <artifactId>jblog</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>jblog Maven Webapp</name>
    <url>http://maven.apache.org</url>
    
    <repositories>
        <repository>
            <id>JBoss repository</id>
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>
        <repository>
            <id>maven</id>
            <name>maven repository</name>
            <url>http://repo2.maven.org/maven2/</url>
        </repository>
    </repositories>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.version>4.1.4.RELEASE</spring.version>
        <hibernate.version>4.3.9.Final</hibernate.version>
    </properties>
    
    
    <dependencies>
        <dependency>
          <groupId>org.hibernate</groupId>
          <artifactId>hibernate-core</artifactId>
          <version>${hibernate.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-ehcache</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        <!-- 二级缓存ehcache -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>2.9.0</version>
        </dependency>
        <!-- log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <!-- mysql连接 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.37</version>
        </dependency>
        <!-- json -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.7</version>
        </dependency>
    
    
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.0-b01</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>jblog</finalName>
    </build>
</project>

 

posted on 2015-11-16 16:27  丁丁·全栈工程师  阅读(735)  评论(0编辑  收藏  举报

导航