maven 常用插件

maven插件是用来完成构建任务的。用户可以通过两种方式调用Maven插件。
第一种方式是将插件与生命周期绑定,如命令mvn compile就实现了maven-compiler-plugin的调用目标。
第二种方式是直接在命令行指定要执行的插件,如mvn archetype:generate 就表示调用maven-archetype-plugin。

1.maven-assembly-plugin

用于导出jar包或war包。插件官网:http://maven.apache.org/plugins/maven-assembly-plugin/

具体打包哪些文件是高度可控的,在assembly.xml中指定。

<!--一个assembly.xml例子-->
<assembly
        xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <formats>
        <format>jar</format>
    </formats>
    <id>with-dependencies</id>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <excludes>
                <exclude>org.apache.storm:storm-core</exclude>
            </excludes>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

2.maven-source-plugin

打包时用的,附带源代码。pom写法见下:

 <plugin>
       <artifactId>maven-source-plugin</artifactId>
       <version>2.1</version>
       <configuration>
           <attach>true</attach>
       </configuration>
       <executions>
           <execution>
               <phase>compile</phase>
               <goals>
                   <goal>jar</goal>
               </goals>
           </execution>
       </executions>
 </plugin> 

3.maven-dependency-pligin

打包时用。用于把项目的依赖单独放到 jar外 的一个目录中。

<plugin>
	<artifactId>maven-dependency-plugin</artifactId>
	<version>2.10</version>
	<executions>
		<execution>
			<id>copy-dependencies</id>
			<phase>package</phase>
			<goals>
				<goal>copy-dependencies</goal>
			</goals>
			 <configuration>
			 </configuration>
		</execution>
	</executions>
</plugin>

4.maven-enforcer-plugin

当一个旧的库被很多库间接依赖,挨个使用<excluds>不简洁时,可使用这个插件强制排除过时的依赖。有些框架升级时artifactid都会变,比如spring升级为spring-core。

<!-- 排除包 -->
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-enforcer-plugin</artifactId>
	<version>1.1</version>
	<executions>
		<execution>
			<id>enforce-denpendency</id>
			<phase>compile</phase>
			<goals>
				<goal>enforce</goal>
			</goals>
			<configuration>
				<rules>
					<bannedDependencies>
						<!-- groupId[:artifactId][:version][:type][:scope] -->
						<excludes>
							<!--<exclude>ch.qos.logback</exclude> -->
							<exclude>org.slf4j:log4j-over-slf4j</exclude>
							<exclude>org.springframework:spring</exclude>
						</excludes>
					</bannedDependencies>
				</rules>
				<fail>true</fail>
			</configuration>
		</execution>
	</executions>
</plugin>
时间: 2024-12-25 16:28:09

maven 常用插件的相关文章

Maven常用插件配置和使用

主要介绍Maven的几个常见第三方插件(cobertura.findbugs.source.assembly.插件开发)配置和使用,接Maven介绍 maven本质上是一个插件框架,它的所有工作都交给插件来做,每个插件可以有多个goal. 除了自带的插件之外还有很多比较成熟的第三方插件,我们也很容易上手进行简单的插件开发,下面一一介绍 1 自带插件 maven自带的核心插件为Build plugins和Reporting plugins. mvn compile编译源码实际上就利用到了maven

maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项

一.指定编译文件的编码 maven-compile-plugin  1 <plugin> 2 <groupId>org.apache.maven.plugins</groupId> 3 <artifactId>maven-compiler-plugin</artifactId> 4 <version>2.5.1</version> 5 <configuration> 6 <source>1.6<

MAVEN常用命令

Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId=

第9章 maven的插件和生命周期

第9章 maven的插件和生命周期 本章介绍了maven生命周期.插件以及如何配置插件 9.1 生命周期 一般的项目都会经历这几个步骤:编译,测试,打包,部署,有些公司是手动方式,有些是自动化脚本方式,虽然方式类似,但不可能完全相同.maven对这些工作进行抽象和统一,总结了一套完善的生命周期. 9.1.1 三套生命周期 maven的三套生命周期分别是:clean.default.site,每个周期都分为多个阶段. 9.1.2 clean生命周期 1.pre-clean:执行清理前需要完成的工作

使用Maven Release插件发布项目

<使用Maven插件修改工程版本号>中提到修改maven工程的版本号,最终没有一个完美的解决方案,其实最终修改好版本号之后还是需要使用deploy命令发布到私有Maven服务器上面的,Maven Release插件可以自动执行整个的发布过程,主要包括:将当前的SNAPSHOT版本号修改为正式版,然后在SCM服务器(SVN或git)上打一个该版本的tag,编译程序并自动生成jar包.source源码包和javadoc文档包然后发布到指定的maven服务器上,最后将当前的版本号增加为新的版本号并修

tomcat插件原理 流程-maven tomcat 插件 部署原理,及tomcat的访问流程??

问题描述 maven tomcat 插件 部署原理,及tomcat的访问流程?? 很久之前通过maven tomcat7 部署项目后,现在一启动tomcat 就默认访问此项目,想删除此项目..可找不到... 解决方案 找到tomcat的安装路径,删除你部署的项目不就好了

Sublimetext 3 常用插件

          今天配了一下开发工具,其实主要是想配置svn插件,但是后来查了下,发现sublimet的插件库还是蛮丰富的,顺手安了一些别的插件进去.       1,Svn插件安装的一些问题                    首先ctrl+shift+p,打开package control:                                         1,如果出现cannot install package..这种错误,请在host文件中加入:"50.116.34.

maven tomcat插件 context.xml classnotfound

问题描述 maven tomcat插件 context.xml classnotfound 使用Maven的Tomcat插件时,我指定了一个contextFile (其实就是tomcat中的context.xml) 在这个xml配置了memcached 项目启动时,插件找不到类de.javakaffee.web.msm.MemcachedBackupSessionManager 解决方案 Tomcat 的context.xml

VC 常用插件和界面库

VC 常用插件 1.Visual Assist(强烈推荐)[url]http://www.wholetomato.com/[/url] VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在 WorkSpace窗口中加入一个VA View,可以更方便的查找工程中的文件.类和变量. 2.WndTabs(强烈推荐)[url]http://www.wndtabs.com/[/u