新建maven项目
使用mvn archetype:generate
命令新建一个maven项目。maven会自动下载必要的插件,还会下载一个所有项目模板的分类文件。这个文件有好几兆的大小,因此可能会持续比较长的时间。下载完毕之后,就会列出所有项目模板分类,使用序号就可以选择了。然后还会要求输入groupId和artifactId,并选择项目版本。groupId是公司或组织的标识符,artifactId是具体项目的标识符,项目版本选择快照snapshot就行了。这样就新建好了一个maven项目。
项目的结构
如果建立多个maven项目的话,会发现这些maven项目都有相似的结构。没有错,maven对项目结构进行了约定。使用maven的话都必须遵循这样的约定,对于集成开发、测试都是有帮助的。下面来逐一说明一下:
- src/main/java。这里是maven项目源代码的存放位置。
- src/main/resources。这里是maven项目配置文件的存放位置。
- src/test/java。这里是maven项目测试代码的存放位置。
- target。这里是maven项目编译生成的类的位置。
- web。如果是web项目的话,还会有个web文件夹。web.xml、html和jsp等文件都放在这里。
- pom.xml文件。这是maven最重要的配置文件,依赖项、项目配置,都在这里。maven会读取这个配置文件并进行相应的操作。
项目的配置
新建好了项目之后,会发现项目里有一个pom.xml文件,这就是maven项目的配置文件。文件大体如下:
代码语言:javascript复制<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- The Basics -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>
<!-- Build Settings -->
<build>...</build>
<reporting>...</reporting>
<!-- More Project Information -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>
<!-- Environment Settings -->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>
POM文件的各个节点简单说明如下: * groupId。公司或者组织的标识符。 * artifactId。项目的具体标识符 * version。项目的版本。默认是快照snapshot。 * packaging。项目的打包方式,常用的的有jar和war两种。 * dependencies。指定项目的依赖项。maven会自动下载并加入到项目的CLASSPATH中。 * parent。指定项目的父项目。 * dependencyManagement。用来管理依赖,在父项目的依赖管理中设置依赖之后,子项目就会自动继承这些依赖设置。 * properties。在此节点之下添加了自定义的属性,然后就可以在其他地方引用了。例如设置了
项目的运行
maven项目有一些项目生命周期阶段的命令。常用的命令如下: * compile。编译项目。 * test。运行项目测试。 * clean。清除项目生成的文件。 * package。打包项目。 * install。将项目安装到本地仓库。 * deploy。部署项目。
这些命令还可以混合使用。例如mvn clean test package
就可以先清除项目生成的文件,然后测试项目,测试完成之后将其打包。
参考文献:Maven POM参考