Maven 2 pom.xml

来源:互联网 发布:金钟国力量数据 编辑:程序博客网 时间:2024/05/22 13:51

pom,项目对象模型,是maven最核心的东西。所谓项目对象模型,那他到底是个什么模型呢?我的理解就是,可以把项目看成一个对象,通过pom组织起来并加以管理应用。所以,pom的最重要作用,也是maven的最主要作用是管理这些依赖关系。


先看下pom文件的基本结构。

<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.1.0.1</version>
    <packaging>jar</packaging>
    <name>myapp</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

上图中分为项目基本信息和项目构建信息两个部分


项目基本信息:

    <modelVersion>4.0.0</modelVersion>

     <!--路径名称-->

     <groupId>com.mycompany.app</groupId>
     <!--项目名称-->
    <artifactId>my-app</artifactId>
     <!--版本信息-->
    <version>1.1.0.1</version>
     <!--打包生成文件类型-->
    <packaging>jar</packaging>
    <name>myapp</name>
     <url>http://maven.apache.org</url>


Properties信息:用来覆盖项目默认的信息。

    <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


Dependencies信息:项目依赖的jar包。

    <dependencies>

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



repositories: 去那里下载jar包,可以在 其中定义本地仓库。


pluginrepositories:



项目构建信息:

build::定义项目默认结构。可以通过更改其中结构,对已有的非maven项目进行maven化重建。


reporting:生成站点信息


profile: 用户自定义的一些属性

mvn install -PprofileId




父pom位置

其实项目真正起作用的pom不止是上面定义的pom文件,每个工程都会有一个父pom,子pom与父pom一起构造出真正的pom文件-effective pom

可以通过命令mvn help:effective-pom来查看有效pom文件。

父pom位置:%MAVEN_HOME%\lib\maven-model-builder-3.3.9.jar\org\apache\maven\model\pom-4.0.0.xml。



那父pom里面都有什么有用的东西呢?

1. 规定pluin的插件版本

2. java工程目录结构。






0 0
原创粉丝点击