maven 常用插件

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




目录
相关文章
|
5月前
|
Java 应用服务中间件 Apache
Maven程序 tomcat插件安装与web工程启动
Maven程序 tomcat插件安装与web工程启动
59 0
|
4月前
|
XML Java Maven
maven总结三: 常用插件
maven总结三: 常用插件
47 3
|
14天前
|
Java 编译器 测试技术
|
4月前
|
Java 测试技术 Maven
Maven 插件
Maven包含clean、default(build)、site三大生命周期,分别处理项目清理、部署和文档创建。每个生命周期由多个阶段组成,充当标准化接口,实际工作由插件执行。例如,`mvn clean`调用的是clean生命周期的clean阶段,其实现由maven-clean-plugin插件完成。Maven是一个依赖插件的框架,插件负责任务如生成jar/war、编译、测试、文档和报告。通过`mvn plugin-name:goal-name`命令执行插件目标。
|
3月前
|
Java Maven Spring
Maven重打包问题之maven-shade-plugin插件对于重复的class文件会如何处理
Maven重打包问题之maven-shade-plugin插件对于重复的class文件会如何处理
|
3月前
|
Java jenkins 持续交付
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
|
4月前
|
Java Maven
idea安装并使用maven依赖分析插件:Maven Helper
idea安装并使用maven依赖分析插件:Maven Helper
2338 7
|
4月前
|
数据可视化 Java 程序员
IDEA插件-Maven Helper
Maven Helper是一个用于Apache Maven项目的IntelliJ IDEA插件,它提供了一些有用的功能来帮助开发人员更好地管理和调试Maven项目。
489 0
IDEA插件-Maven Helper
|
3月前
|
Java Maven 开发者
"揭秘IDEA的神奇助手:Maven Helper插件,让你轻松驾驭复杂依赖,告别冲突噩梦!"
【8月更文挑战第20天】Maven Helper是一款提升Java开发者工作效率的IDEA插件,它能直观展示项目依赖关系并协助管理。主要功能包括依赖树视图、冲突检测与解决及依赖排除。安装简便,重启IDEA后即用。借助其“Dependencies”面板,开发者可以清晰了解依赖详情,快速定位并解决冲突问题,有效优化项目结构,提升开发效率。
188 0
|
4月前
|
Java 测试技术 Maven
Maven 插件
Maven包含clean、default/build、site三个生命周期,用于清理、构建和文档创建。每个生命周期由多个阶段构成,作为标准化步骤。比如`mvn clean`调用Clean生命周期的clean阶段,其实体实现是maven-clean-plugin。Maven依赖插件执行任务,如生成jar/war、编译、测试、文档等。插件通过`mvn plugin-name:goal-name`形式执行特定目标。

推荐镜像

更多