maven的pom.xml文件说明

来源:互联网 发布:网络歌曲经典老歌 编辑:程序博客网 时间:2024/05/24 22:46
<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>org.codehaus.mojo</groupId>  
  <artifactId>my-project</artifactId>  
  <version>1.0-SNAPSHOT</version>  
  <name>demo</name>
  <packaging>jar</packaging>
</project> 


project元素是所有pom.xml的根元素,声明pom相关的命名空间和xsd元素能够让第三方工具帮助我们快速编辑xml。
groupId定义了项目属于那个组,这个组往往和项目所在的公司或组织存在关联,如:com.googlecode.myapp.
artifactId定义了当前maven项目子组中的唯一ID。你可能会为不同的子项目(模块)分配不同的artifaclc,如:myapp-util,myapp-domain,myapp-web等。
version 版本号1.0-SNAPSHOT。
packaging 打包格式jar,war。默认为jar
命令
mvn clean   清楚输出目录target/
mvn clean compile 将项目主代码编译至target/classes目录
mvn clean package 打包,默认为jar
mvn clean install 安装打包好的jar到maven仓库中才能被其他maven项目引用
mvn clean test
在test前会执行compile,执行package前会执行test,install前会执行package


<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>


scope 依赖范围。如果不生命默认值是compile,对于编译,测试和运行代码都有效
      test表示只对测试有效
      provided以提供依赖范围。对于编译和测试有效。如serlet-api,便宜和测试时需要依赖,运行的时候容器已经提供,不需要重复引入
      runtime运行时范围。对于测试和运行有效。
      system系统以来范围。通过systemPath元素显示的指定依赖文件路径,应该谨慎使用




传递性依赖
A以来B,B依赖C,A依赖C
0 0