Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的。每个插件都能实现多个功能,每个功能就是一个插件目标。Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务。例如:compile就是插件maven-compiler-plugin的一个插件目标。
maven仓库地址:https://mvnrepository.com
1、JDK编译插件
在maven工程项目中,如果我们不指定JDK版本,maven就会用maven-compiler-plugin默认的jdk版本来进行处理,从而容易导致JDK版本的不匹配,甚至可能因此导致编译不通过的问题。maven的默认编译使用的jdk版本比较低,因此我们可以使用maven-compiler-plugin插件指定maven工程源码的jdk版本,编译后的jdk版本,以及编码。
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.hz.maven</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<project>
2、源码打包插件
说明:通过在maven工程的pom.xml文件中加入此插件,使用mvn install命令打包jar到本地仓库的同时,会额外再打包一份源码
<!--配置生成源码包 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
3、Tomcat插件
Maven Plugin 是Apache Tomcat 提供的一个Maven插件,它可以在你没有tomcat容器时将任何一个war项目文件部署在该插件上提供访问。当我们使用maven创建了一个web项目时,要运行这个项目还得手动部署到tomcat上,手动启动tomcat,这无疑增加了我们的工作量,而通过maven tomcat 这个插件可以节省这些不必要的麻烦。
<!-- Tomcat插件 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>8081</port>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</build>