maven 常用插件
来源:互联网 发布:柴可夫斯基知乎 编辑:程序博客网 时间:2024/05/08 23:29
maven插件是用来完成构建任务的。用户可以通过两种方式调用Maven插件。
第一种方式是将插件与生命周期绑定,如命令mvn compile就实现了maven-compiler-plugin的调用目标。
第二种方式是直接在命令行指定要执行的插件,如mvn archetype:generate 就表示调用maven-archetype-plugin。
第一种方式是将插件与生命周期绑定,如命令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>
0 0
- 常用Maven插件介绍
- Maven常用插件
- Maven常用插件集合
- Maven常用插件列表
- 常用Maven插件介绍
- Maven常用插件介绍
- 常用Maven插件介绍
- 常用Maven插件介绍
- 常用Maven插件介绍
- 常用Maven插件介绍
- 常用Maven插件介绍
- 常用Maven插件介绍
- maven常用插件
- Maven常用插件
- Maven常用插件作用
- 常用Maven插件
- 常用Maven插件介绍
- maven 常用插件
- 开源网站
- AndroidManifest.xml——service
- 汽车配置中最让国人纠结的3个配置
- [HDU 3535] AreYouBusy 混合背包
- 关于给报表传值
- maven 常用插件
- Android学习笔记之事件分发机制(一)
- 手机拍照,在回调缩放的时候程序崩溃问题
- C++ 11中使用lambda表达式实现回调
- 1003. 我要通过!(20)
- ecshop整合discuz
- 来自大数据的反思:需要你读懂的10个小故事 二
- 打开eclipse 异常弹出对话框 Subversion Native Library Not Available的解决
- CListCtrl控件使用方法总结