一个基本项目的pom.xml文件,通常会有以下三部分:
一、项目坐标,信息描述等。
<modelVersion>4.0.0</modelVersion> <groupId>com.maven</groupId> <artifactId>MavenTest</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>MavenTest Maven Webapp</name> <url>http://maven.apache.org</url>
modelVersion:pom文件的模型版本。
group id:com.公司名.项目名。
artifact id:功能模块名。
packaging:项目打包的后缀,war是web项目发布用的,默认为jar。
version:artifact模块的版本。
name和url:相当于项目描述,可删除。
group id+artifact id+version:项目在仓库中的坐标。
二、引入jar包。
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies>
这是创建项目时自动生成的,将junit-3.8.1.jar引入到项目中。
dependency:引入资源jar包到本地仓库,要引入更多资源就在<dependencies>中继续增加<dependency>。
group id+artifact id+version:资源jar包在仓库的坐标。
scope:作用范围,test指该jar包仅在maven测试时使用,发布时会忽略这个包。需要发布的jar包可以忽略这一配置。
刚开始本地仓库是空的,maven会从远程仓库自动下载这个jar到本地仓库,下载完后,就可以在项目中使用这个jar。
如果将<dependency>的内容删除,junit-3.8.1.jar也会自动消失,无法使用。
三、构建项目。
<build> <finalName>MavenTest </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> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
build:项目构建时的配置。
finalName:在浏览器中的访问路径,如果将它改成test,再执行maven-update,这时运行项目的访问路径是
http://localhost:8080/MavenTest/ 而不是项目名的 http://localhost:8080/test
plugins:插件,第一个插件用<configuration>--<source>和<target>来设置java版本为1.7,第二个插件用<configuration>--<encoding>设置编码为utf-8.
group id+artifact id+version:插件在仓库中的坐标。
configuration:设置插件的参数值。
参考文章:https://blog.csdn.net/wangb_java/article/details/54170143