maven中插件plugin和依赖dependency的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven中插件plugin和依赖dependency的区别相关的知识,希望对你有一定的参考价值。
很明显的一点就是插件是属于可插拔类型的,你可以直接在插件里面的属性里填上你需要的属性值,插件本身就帮你完成了,而dependency只是一个jar,具体的实现什么的需要你自己写代码去处理 参考技术A 插件是一种工具,例如compile插件是用来编译代码的工具,mybatis插件是用来自动生成数据库dao和mapper的工具。而依赖则是项目工程在编译过程中需要依赖的二方及三方包。在你的工程中可以不需要mybatis插件,自己去实现sql的crud,但如果工程里需要三房包,则必须要用dependency引入。maven常用插件整理
1. 依赖管理插件:maven-dependency-plugin, 详见: https://maven.apache.org/plugins/maven-dependency-plugin/
通过该插件可以对被依赖组件进行复制,解压等一系列操作,特别是在多模块化项目中配置Spring自动扫描时该插件非常有用。
配置示例:
1 <build> 2 <plugins> 3 <!-- 将依赖模块的jar包文件提取出来放到指定位置 --> 4 <plugin> 5 <groupId>org.apache.maven.plugins</groupId> 6 <artifactId>maven-dependency-plugin</artifactId> 7 <executions> 8 <execution> 9 <id>unpack</id> 10 <phase>prepare-package</phase> 11 <goals> 12 <goal>unpack</goal> 13 </goals> 14 <configuration> 15 <artifactItems> 16 <artifactItem> 17 <groupId>com.xxx</groupId> 18 <artifactId>xxx-xxx</artifactId> 19 <version>1.0.0</version> 20 <type>jar</type> 21 <includes>**/*.class</includes> 22 <overWrite>false</overWrite> 23 <outputDirectory>${project.build.directory}/classes</outputDirectory> 24 </artifactItem> 25 </artifactItems> 26 </configuration> 27 </execution> 28 </executions> 29 </plugin> 30 </plugins> 31 </build>
2. 打包插件: maven-assembly-plugin, 详见: http://maven.apache.org/plugins/maven-assembly-plugin/
maven项目压缩打包,可以将项目安装包打包为一个规范,专业的格式进行发布。
配置示例:
1 <build> 2 <plugins> 3 <!-- 部署打包: 通过maven-assembly插件压缩为tar包进行发布 --> 4 <plugin> 5 <artifactId>maven-assembly-plugin</artifactId> 6 <configuration> 7 <!-- not append assembly id in release file name --> 8 <appendAssemblyId>false</appendAssemblyId> 9 <descriptors> 10 <descriptor>assembly.xml</descriptor> 11 </descriptors> 12 <finalName>xxx-${project.version}</finalName> 13 <outputDirectory>${basedir}/release</outputDirectory> 14 </configuration> 15 <executions> 16 <execution> 17 <id>make-assembly</id> 18 <phase>verify</phase> 19 <goals> 20 <goal>single</goal> 21 </goals> 22 </execution> 23 </executions> 24 </plugin> 25 </plugins> 26 </build>
3. 资源插件: maven-resources-plugin, 详见: https://maven.apache.org/plugins/maven-resources-plugin/
以上是关于maven中插件plugin和依赖dependency的区别的主要内容,如果未能解决你的问题,请参考以下文章
关于maven的规则插件:Maven Enforcer plugin
无法计算构建计划:无法解析插件 org.apache.maven.plugins:maven-resources-plugin:2.5 或其依赖项之一
无法计算构建计划:无法解析插件 org.apache.maven.plugins:maven-jar-plugin:2.3.2 或其依赖项之一