J2EE开发笔记(四)—— pom.xml文件详解

1. pom.xml简介

POM是Project Object Model的缩写,pom.xml 则是每一个Maven工程必备的文件之一。我们这里引用官网上对POM的简介。

A Project Object Model or POM is the fundamental unit of work in Maven. It is an XML file that contains information about the project and configuration details used by Maven to build the project. Some of the configuration that can be specified in the POM are the project dependencies, the plugins or goals that can be executed, the build profiles, and so on. Other information such as the project version, description, developers, mailing lists and such can also be specified. POM stands for "Project Object Model". It is an XML representation of a Maven project held in a file named pom.xml . In fact, in the Maven world, a project need not contain any code at all, merely a pom.xml.

如果你想更加深入地了解 pom.xml 文件的方方面面,强烈推荐你阅读官方的参考文档: Introduction to the POM 和 POM Reference 。

2. pom.xml实战

下面,我们以一个实际项目中的 pom.xml 文件作为实战案例,分析里面所有元素和属性的含义和用法。我们会以xml文件注释的形式进行分析和说明。我们本次实战是基于一个最基本的Maven项目场景,不可能涵盖所有的Maven配置元素,我们会在 Maven开发笔记 系列博客中,对Maven做更加深入的学习和研究。本次实战的 pom.xml 文件如下:


    
    
    
    
    
        
    4.0.0
    
    top.qiumengchen
    
    basement
    
    0.0.1-SNAPSHOT
    
    war
    
    My Basement Maven Project
    
    
    
    
    
        UTF-8
        3.2.1.RELEASE
    
    
    
    
    
        
            
        
        
            org.springframework
            spring-core
            ${springframework.version}
        
        
            org.springframework
            spring-beans
            ${springframework.version}
        
        
            org.springframework
            spring-jdbc
            ${springframework.version}
        
        
            org.springframework
            spring-tx
            ${springframework.version}
        
        
            org.springframework
            spring-orm
            ${springframework.version}
        
        
            org.springframework
            spring-context-support
            ${springframework.version}
        
        
            org.springframework
            spring-web
            ${springframework.version}
        
        
            org.springframework
            spring-webmvc
            ${springframework.version}
        
        
            org.springframework
            spring-test
            ${springframework.version}
            test
        
        
        
        
        
            commons-dbcp
            commons-dbcp
            1.4
        
        
        
            commons-fileupload
            commons-fileupload
            1.3.1
        
        
        
            org.apache.commons
            commons-lang3
            3.4
        
        
        
        
            log4j
            log4j
            1.2.14
        
        
        
        
            org.slf4j
            slf4j-api
            1.6.6
        
        
        
            org.slf4j
            jcl-over-slf4j
            1.6.6
            runtime
        
        
        
            org.slf4j
            slf4j-log4j12
            1.6.6
            runtime
        
        
        
        
            junit
            junit
            4.8.1
            test
        
        
        
        
            org.mybatis
            mybatis
            2.3.5
        
        
            mysql
            mysql-connector-java
            5.0.8
            runtime
        
                        
        
           
            com.fasterxml.jackson.core  
            jackson-core  
            2.3.0    
          
          
            com.fasterxml.jackson.core  
            jackson-databind  
            2.3.0    
          
          
            com.github.fge  
            json-schema-validator  
            2.2.6    
          
        
        
    
    
  
    
    
        
        
            development
            
                development
            
        
        
            beta
            
                beta
            
        
        
            production
            
                production
            
        
    
    
    
    
    
        
        basement
        
        
            vars/var.${env}.properties
        
        
            
                src/main/resources
                true
            
        
        
        
            
            
                maven-compiler-plugin
                2.3.2
                
                    1.6
                    1.6
                    ${project.build.encoding}
                
            
            
            
                maven-resources-plugin
                2.4
                
                    ${project.build.encoding}
                
            
            
    
    

3. 总结

我们本次实战所采用的 pom.xml 文件比较简单,仅仅涵盖了Maven常用的配置元素。我们会在 Maven开发笔记 系列博客中进行更加详细深入的分析和研究。如果大家有任何疑问或建议,欢迎留言或评论,希望我们在相互讨论、学习中一起进步。

你可能感兴趣的:(J2EE开发笔记(四)—— pom.xml文件详解)