Maven常用插件使用总结

Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。
其中有很多用于项目构建的插件。
1、maven-compiler-plugin
用于编译项目源文件,可以设定构建使用的jdk版本信息,从Maven 3.0开始默认使用jdk1.6进行构建。
compile有两个目标(goals),即compile和testCompile,compile主要用于编译main下的源文件,testCompile主要用于编辑test下的源文件。

<build>
		<finalName>java-base-mysql</finalName>
		<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>
				</configuration>
			</plugin>
		</plugins>
</build>

2、maven-clean-plugin
用于清理构建的文件,默认构建文件位置为target目录。clean有一个目标(goal),即clean,用于清理构建的信息。

<project>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.1</version>
        <executions>
          <execution>
            <id>auto-clean</id>
            <phase>initialize</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

3、maven-assembly-plugin
用于定制程序的输出信息等,需要自定义assembly.xml文件。

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-assembly-plugin</artifactId>
	<version>2.4</version>
	<configuration>
		<finalName>java-base-utils</finalName>
		<appendAssemblyId>false</appendAssemblyId>
		<descriptors>
			<descriptor>assembly.xml</descriptor>
		</descriptors>
	</configuration>
</plugin>

4、maven-resources-plugin

用于处理项目资源文件并拷贝到输出目录。

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-resources-plugin</artifactId>
      <configuration>
          <overwrite>true</overwrite>
      </configuration>
</plugin>

5、build-helper-maven-plugin

maven在默认情况下只允许指定一个主java代码目录src/main/java和一个测试Java代码目录src/test/java。如果需要指定多个源码目录,此时就可以通过build-helper-maven-plugin的add-source目标,通常它被绑定到默认生命周期的generate-sources阶段,用于添加多个源码目录。


<plugin>  
      <groupId>org.codehaus.mojo</groupId>  
      <artifactId>build-helper-maven-plugin</artifactId> 
      <version>1.8</version>
      <executions>  
          <execution>  
              <id>add-source</id>  
              <phase>initialize</phase>  
              <goals>  
                   <goal>add-source</goal>  
              </goals>  
              <configuration>  
                   <sources>  
                      <source>${project.basedir}/src/main/java</source>
                      <source>${project.basedir}/src/circle/java</source>
                      <source>${project.basedir}/src/car/java</source>
                   </sources>  
              </configuration>  
           </execution>  
     </executions>  
</plugin> 

6、maven-war-plugin

负责收集web应用的所有构件依赖、classes和resources等,并将其进行打包到一个web应用构件中。执行后会生成一个war包和一个jar包,jar包可用于其它应用依赖。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
           <webResources>
                 <resource>
                    <filtering>true</filtering>
                    <directory>src/main/webapp</directory>
                     <includes>
                           <include>WEB-INF/web.xml</include>
                     </includes>
                  </resource>
           </webResources>
      </configuration>
</plugin>

7、tomcat7-maven-plugin

使用maven中的tomcat插件,可以将tomcat集成到项目中,此时在不同平台中无需配置tomcat就可以直接运行web应用。

<plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
            <path>/giser/</path>
            <useBodyEncodingForURI>true</useBodyEncodingForURI>
      </configuration>
</plugin>

8、maven-enforcer-plugin

用于把控一定的环境限制,如maven版本、JDK版本、依赖等问题,在进行mvn clean package的时候,会在console中打印出来冲突的jar版本和其父pom。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.4.1</version>
    <executions>
        <execution>
          <id>enforce</id>
          <configuration>
            <rules>
               <dependencyConvergence/>
            </rules>
          </configuration>
          <goals>
            <goal>enforce</goal>
          </goals>
     </execution>
    </executions>
</plugin>
9、maven-source-plugin
将源码打包 
    <plugin>        
     <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

Maven – Available Plugins
更多待更新。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值