pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。
主要描述了项目:包括的配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。
一个基本项目的pom.xml文件,通常至少有三个部分:
第一部分:项目坐标,信息描述等
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.project</groupId> //com.公司名.项目名
<artifactId>module</artifactId> //功能模块名
<packaging>war</packaging> //项目打包的后缀,war是web项目发布用的,默认为jar
<version>0.0.1-SNAPSHOT</version> //artifact模块的版本
<name>test Maven Webapp</name> //相当于项目描述,可删除
<url>http://maven.apache.org</url> ////相当于项目描述,可删除
//父项目的坐标
//group id + artifact id +version :项目在仓库中的坐标
<parent>
<groupId>com.xxx.xxx</groupId>
<artifactId>xxxx</artifactId>
<version>1.0.0</version>
</parent>
//项目开发者属性,如即时消息如何处理等
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<poi.version>3.16</poi.version>
<docker.image.prefix>pms</docker.image.prefix>
<spring-cloud.version>Dalston.SR4</spring-cloud.version>
</properties>
第二部分:引入jar包
//dependency:引入资源jar包到本地仓库,要引入更多资源就在<dependencies>中继续增加<dependency>
//group id+artifact id+version:资源jar包在仓库中的坐标
//scope:作用范围,test指该jar包仅在maven测试时使用,发布时会忽略这个包。需要发布的jar包可以忽略这一配置
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
需要引入什么包可以来这个地址搜索http://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka/1.4.5.RELEASE
这个网页有如下代码,可以直接复制粘贴。
第三部分,构建项目
//build:项目构建时的配置
//finalName:在浏览器中的访问路径,如果将它改成helloworld,再执行maven--update,这时运行项目的访问路径是 http://localhost:8080/helloworld/ 而不是项目名的 http://localhost:8080/test
//plugins:插件,之前篇章已经说过,第一个插件是用来设置java版本为1.7,第二个插件是我刚加的,用来设置编码为utf-8
//group id+artifact id+version:插件在仓库中的坐标
//configuration:设置插件的参数值
<build>
<finalName>helloworld</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>