Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1766|回复: 0
打印 上一主题 下一主题

POM文件详解

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2017-5-16 10:44:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
POM,Project Object Model,在MAVEN1中叫做project.xml,到maven2后改为pom.xml。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。一个maven项目可以没有任何源代码,但必须包含pom文件。


POM文件基本属性:

    groupId : 组织标识,例如:com.mycompany.app,在M2_REPO目录下,将是: com/mycompany/app目录。
    artifactId : 项目名称,例如:my-app
    version : 版本号
    packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par
<dependencies>:依赖关系


POM文件的关系:
依赖关系:
依赖关系列表(dependency list)是POM的重要部分。

      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.0</version>
          <scope>test</scope>
        </dependency>
        …
      </dependencies>

    groupId , artifactId , version :
    scope : compile(default),provided,runtime,test,system
    exclusions

   
继承关系:允许项目之间存在继承关系
定义父项目

xml 代码

<project>
<modelVersion>4.0.0<modelVersion>
<groupId>org.codehaus.mojo<groupId>
<artifactId>my-parent<artifactId>
<version>2.0version>
<packaging>pom<packaging>
<project>
子项目:主要通过parent设置
<project>
<modelVersion>4.0.0<modelVersion>
<parent>
    <groupId>org.codehaus.mojo<groupId>
    <artifactId>my-parent<artifactId>
    <version>2.0<version>
    <relativePath>../my-parent<relativePath>
<parent>
<artifactId>my-project<artifactId>
<project>

relativePath可以不需要,但是用于指明parent的目录,用于快速查询。

聚合:一个项目有多个模块,也叫做多重模块,或者合成项目。主要通过modules属性实现


<project>
<modelVersion>4.0.0<modelVersion>
<groupId>org.codehaus.mojo<groupId>
<artifactId>my-parent<artifactId>
<version>2.0<version>
<modules>
    <module>my-project1<module>
    <module>my-project2<module>
<modules>
<project>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-20 05:31 , Processed in 0.050139 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表