maven 常用插件

1 maven-compiler-plugin

[html] view plain copy print?

  1. <plugin>
  2. <artifactId>maven-compiler-plugin</artifactId>
  3. <extensions>true</extensions>
  4. <configuration>
  5. <source>1.6</source>
  6. <target>1.6</target>
  7. </configuration>
  8. </plugin>

2 maven-dependency-plugin 把依赖的jar包拷到指定目录下

[html] view plain copy print?

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-dependency-plugin</artifactId>
  4. <executions>
  5. <execution>
  6. <id>copy-dependencies</id>
  7. <phase>process-resources</phase>
  8. <goals>
  9. <goal>copy-dependencies</goal>
  10. </goals>
  11. <configuration>
  12. <excludeScope>provided</excludeScope>
  13. <excludeArtifactIds>
  14. module1,module2
  15. </excludeArtifactIds>
  16. <outputDirectory>${project.build.directory}/lib</outputDirectory>
  17. </configuration>
  18. </execution>
  19. <execution>
  20. <id>copy-modules</id>
  21. <phase>process-resources</phase>
  22. <goals>
  23. <goal>copy-dependencies</goal>
  24. </goals>
  25. <configuration>
  26. <includeArtifactIds>
  27. module1,module2
  28. </includeArtifactIds>
  29. <outputDirectory>${project.build.directory}/lib/modules</outputDirectory>
  30. </configuration>
  31. </execution>
  32. </executions>
  33. </plugin>

3 maven-resources-plugin 把依赖的资源拷到指定目录下

[html] view plain copy print?

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-resources-plugin</artifactId>
  4. <version>2.6</version>
  5. <executions>
  6. <execution>
  7. <id>copy-resources</id>
  8. <!-- here the phase you need -->
  9. <phase>validate</phase>
  10. <goals>
  11. <goal>copy-resources</goal>
  12. </goals>
  13. <configuration>
  14. <outputDirectory>${basedir}/target/test-classes</outputDirectory>
  15. <resources>
  16. <resource>
  17. <directory>${basedir}/src/main/webapp/WEB-INF/config</directory>
  18. <filtering>true</filtering>
  19. </resource>
  20. </resources>
  21. </configuration>
  22. </execution>
  23. </executions>
  24. </plugin>

4 maven-jar-plugin 打jar包配置

[html] view plain copy print?

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-jar-plugin</artifactId>
  4. <configuration>
  5. <excludes>
  6. <exclude>**/config/*</exclude>
  7. </excludes>
  8. </configuration>
  9. </plugin>

5 maven-shade-plugin 把依赖的lib打包到一个jar

[html] view plain copy print?

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-shade-plugin</artifactId>
  4. <version>2.2</version>
  5. <executions>
  6. <execution>
  7. <phase>package</phase>
  8. <goals>
  9. <goal>shade</goal>
  10. </goals>
  11. <configuration>
  12. <artifactSet>
  13. <includes>
  14. <include>thirdparty.mysql:mysql-connector-java</include>
  15. </includes>
  16. </artifactSet>
  17. </configuration>
  18. </execution>
  19. </executions>
  20. </plugin>

6 maven-war-plugin web工程需要这个

[html] view plain copy print?

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-war-plugin</artifactId>
  4. <configuration>
  5. <webappDirectory>../out</webappDirectory>
  6. <warSourceDirectory>webapp</warSourceDirectory>
  7. </configuration>
  8. </plugin>

7 maven-assembly-plugin 强大的归档利器

[html] view plain copy print?

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-assembly-plugin</artifactId>
  4. <version>2.2.1</version>
  5. <configuration>
  6. <descriptors>
  7. <descriptor>src/main/assembly/assembly.xml</descriptor>
  8. </descriptors>
  9. <outputDirectory>${basedir}/deploy</outputDirectory>
  10. </configuration>
  11. <executions>
  12. <execution>
  13. <id>make-assembly</id>
  14. <phase>package</phase>
  15. <goals>
  16. <goal>single</goal>
  17. </goals>
  18. </execution>
  19. </executions>
  20. </plugin>

其中, assembly.xml 文件定义了内部各个目录的资源生成策略

[html] view plain copy print?

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <assembly>
  3. <id>distribution</id>
  4. <formats>
  5. <format>dir</format>
  6. </formats>
  7. <includeBaseDirectory>false</includeBaseDirectory>
  8. <fileSets>
  9. <fileSet>
  10. <directory>${project.build.directory}</directory>
  11. <outputDirectory>/lib</outputDirectory>
  12. <includes>
  13. <include>${project.artifactId}-${project.version}.jar</include>
  14. </includes>
  15. </fileSet>
  16. <fileSet>
  17. <directory>${project.build.directory}/lib</directory>
  18. <outputDirectory>/lib</outputDirectory>
  19. </fileSet>
  20. <fileSet>
  21. <directory>${basedir}/src/main/assembly/dist/</directory>
  22. <outputDirectory>/</outputDirectory>
  23. <includes>
  24. <include>**</include>
  25. </includes>
  26. </fileSet>
  27. <fileSet>
  28. <directory>${basedir}/src/main/assembly/dist/bin</directory>
  29. <outputDirectory>/bin</outputDirectory>
  30. <includes>
  31. <include>**</include>
  32. </includes>
  33. <fileMode>0755</fileMode>
  34. </fileSet>
  35. <fileSet>
  36. <directory>${basedir}/../other-module/src/main/resources/</directory>
  37. <outputDirectory>/etc</outputDirectory>
  38. <includes>
  39. <include>**</include>
  40. </includes>
  41. </fileSet>
  42. </fileSets>
  43. </assembly>

来自Apache的完整插件列表在:http://maven.apache.org/plugins/index.html

来自Codehaus的完整插件列表在:http://mojo.codehaus.org/plugins.html

时间: 2024-10-09 00:50:33

maven 常用插件的相关文章

Maven常用插件配置和使用

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

maven常用插件pom配置

一.问题描述: 部署一个maven打包项目时,jar包,依赖lib包全部手动上传至服务器,然后用maven部署报错:Exception in thread "main" java.lang.NoClassDefFoundError:,当时心想可能是依赖的lib包有问题,各种重新部署(以为是依赖的包没有更新),确忽略了一个大问题:pom.xml没仔细检查.解决方法:最终发现<plugin>                <groupId>org.apache.ma

Maven常用插件--转

=========Maven Report Plugin========= 1.源码分析 Java代码   <artifactId>maven-pmd-plugin</artifactId> 2.代码格式检查 Java代码   <artifactId>maven-checkstyle-plugin</artifactId> 3.代码相似度检查 Java代码   <groupId>org.codehaus.mojo</groupId>

maven常用插件配置详解

常用插件配置详解Java代码    <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.name> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> project.build.name:  用来定义war包名称  proje

Maven常用插件的使用Case

Maven是Java工程常用的项目管理工具,通过Maven可以管理项目的各个生命周期.Maven本质是一个插件框架,本身并不执行任何构建任务,所有的工作都是交给插件来完成的.熟练使用Maven插件,可以让我们的开发工作事半功倍,下面列出的都是我平时工作中常用插件的使用case,不会涵盖所有配置,但已使我现在的工作足够流畅. 一.maven-compiler-plugin maven-compiler-plugin的compiler目标(goal)与编译生命周期阶段绑定.需要指定编译的jdk版本和

MAVEN学习(六)--maven常用插件

我们使用maven做一些日常的工作开发的时候,无非是想利用这个工具带来的一些便利.比如它带来的依赖管理,方便我们打包和部署运行.这里几个常见的插件就是和这些工程中常用的步骤相关. maven-compile-plugin 这个插件就如同名字所显示的这样,用来编译源代码的.最开始碰到这个插件是在于有的时候我们下载了一些工程需要编译的时候,比如我们输入命令:mvn install ,但是系统编译的时候报错了,错误的信息如下: [ERROR] Failed to execute goal org.ap

maven常用插件

有用插件: Maven Release Plugin 版本发布; cargo-maven2-plugin 自动化部署; jetty-maven-plugin web测试; maven-gpg-plugin, GPG:http://www.gnupg.org/download/ 给maven构件加密        hkp://pgp.mit.edu 美国麻省理工大学公钥服务器 maven-surefire-plugin: 单元测试,集成测试 maven-site-plugin:生成站点 //mvn

【转】maven常用插件介绍

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Mave

maven 常用插件总结

maven-javadoc-plugin (1) 说明:该插件生成项目的javadoc.对于构建jar目标,javadoc会首先生成并打包放入jar文件中. (2) 默认用法: pom.xml配置 <project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plu

maven常用插件整理

1. 依赖管理插件:maven-dependency-plugin, 详见: https://maven.apache.org/plugins/maven-dependency-plugin/通过该插件可以对被依赖组件进行复制,解压等一系列操作,特别是在多模块化项目中配置Spring自动扫描时该插件非常有用.配置示例: 1 <build> 2 <plugins> 3 <!-- 将依赖模块的jar包文件提取出来放到指定位置 --> 4 <plugin> 5 &