Maven简介
Maven是基于项目对象模型(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven常用构建命令
- mvn -v :查看Maven版本
- mvn compile :编译项目 生成target文件夹(包含了编译的字节码文件和测试文件)
- mvn package :将项目打包成jar文件
- mvn clean :删除target文件
- mvn test: 执行测试
- mvn archetype:generate 生成maven项目骨架
- mvn install : 将jar文件发布到本地仓库
常用pom.xml文件
<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">
<!--指定了当前POM的版本 -->
<modelVersion>4.0.0</modelVersion>
<!--构建坐标-->
<groupId>com.ayit</groupId><!-- 反写公司网址+项目名 -->
<artifactId>ssm.crud</artifactId><!-- 项目名 + 模块名 -->
<!-- 版本号第一个0表示大版本号
第二个0表示反之版本号
第三个0表示小版本号
SNAPSHOT 快照版本
ALPHA 内部测试版本
BETA 公测版本
RELEASE 稳定版本
GA 正式发布的版本 -->
<version>0.0.1-SNAPSHOT</version>
<packaging></packaging><!-- 默认打包方式 jar,war ,zip。。。 -->
<name></name><!-- 项目描述名 -->
<url></url><!-- 项目地址 -->
<description></description> <!-- 项目具体描述 -->
<developers></developers><!-- 开发人员列表 -->
<licenses></licenses><!-- 许可证信息 -->
<organization></organization><!-- 组织信息 -->
<!-- 依赖列表 -->
<dependencies>
<!-- 构建坐标 -->
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<type></type>
<!-- 依赖范围之依赖在哪有效 maven 中有编译,测试,运行三种classpath
compile 编译,测试,运行都有效
provided 运行无效
runtime 测试,运行有效
test 测试有效 -->
<scope></scope>
<!-- 依赖是否可选默认false之子项目自动引入依赖,true子项目必须显示引入 -->
<optional></optional>
<!-- 排除依赖传递列表 -->
<exclusions>
<exclusion></exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 依赖的管理 -->
<dependencyManagement>
<dependencies>
<dependency></dependency>
</dependencies>
</dependencyManagement>
<!--安装插件 如Tomcat -->
<build>
<plugins>
<!--插件坐标及配置 -->
<plugin>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<executions>
<execution>
<id></id>
<phase>verify</phase><!--执行时期-->
<goals>
<goal>run</goal>
</goals>
<inherited>false</inherited>
<configuration>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- 子模块对父模块继承 -->
<parent></parent>
<!-- 指定多个模块一起编译 -->
<modules>
<module>
</module>
</modules>
</project>