`
moonkk1987
  • 浏览: 8809 次
社区版块
存档分类
最新评论

一些常用的Maven Plugin配置

阅读更多

 Maven本质上一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,进一步说,每个任务对应了一个插件目标goal,每个插件会有一个或多个目标,例如maven-compiler-plugin的compile目标用来编译位于src/main/java目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试代码。

 

   maven-resources-plugin

 

为了使项目结构更为清晰,Maven区别对待Java代码和资源文件,maven-compiler-plugin用来编译Java代码,maven-resource-plugin则用来处理资源文件,默认的主资源文件目录是src/main/resource,很多用户则会需要添加额外的资源文件目录,这个时候就可以通过配置maven-resource-plugin来实现,此外,资源文件过滤也是maven的一大特性。

 

  maven-surefire-plugin

 

可能由于历史原因,maven 2/3中用于执行测试的插件不是maven-test-plugin,而是maven-surefire-plugin,其实大部分时间内,只要你的测试类尊徐能通过的命令约定,就几乎不用知晓该插件的存在

 

  build-helper-maven-plugin

 

maven默认只允许指定一个主java目录和一个测试java代码目录,虽然者其实是个应当及娘遵守的约定,但偶尔你还是会希望能够指定多个源码目录,build-helper-maven-plugin的add-source目标就是服务于这个目的,

 

exec-maven-plugin

 

exec-maven-plugin很好理解,顾名思义,它能让你运行任何本地的系统程序,在某些特定情况下,运行一个Maven外部的程序可能就是最简单的问题解决方案,这就是exec:exec的用途,当然,该插件还允许你配置相关的程序运行参数。除了exec目标之外,exec-maven-plugin还提供了一个java目标,该目标要求你提供一个mainClass参数,然后它能够利用当前项目的依赖作为classpath,在同一个JVM中运行该mainClass。有时候,为了简单的演示一个命令行Java程序,你可以在POM中配置好exec-maven-plugin的相关运行参数,然后直接在命令运行 mvn exec:java 以查看运行效果。

 

jetty-maven-plugin

 

在进行Web开发的时候,打开浏览器对应用进行手动的测试几乎是无法避免的,这种测试方法通常就是将项目打包成war文件,然后部署到Web容器中,再启动容器进行验证,这显然十分耗时。为了帮助开发者节省时间,jetty-maven-plugin应运而生,它完全兼容 Maven项目的目录结构,能够周期性地检查源文件,一旦发现变更后自动更新到内置的Jetty Web容器中。做一些基本配置后(例如Web应用的contextPath和自动扫描变更的时间间隔),你只要执行 mvn jetty:run ,然后在IDE中修改代码,代码经IDE自动编译后产生变更,再由jetty-maven-plugin侦测到后更新至Jetty容器,这时你就可以直接测试Web页面了。需要注意的是,jetty-maven-plugin并不是宿主于Apache或Codehaus的官方插件,因此使用的时候需要额外的配置settings.xml的pluginGroups元素,将org.mortbay.jetty这个pluginGroup加入。

 

versions-maven-plugin

 

很多Maven用户遇到过这样一个问题,当项目包含大量模块的时候,为他们集体更新版本就变成一件烦人的事情,到底有没有自动化工具能帮助完成这件事情呢?(当然你可以使用sed之类的文本操作工具,不过不在本文讨论范围)答案是肯定的,versions-maven- plugin提供了很多目标帮助你管理Maven项目的各种版本信息。例如最常用的,命令 mvn versions:set -DnewVersion=1.1-SNAPSHOT 就能帮助你把所有模块的版本更新到1.1-SNAPSHOT。该插件还提供了其他一些很有用的目标,display-dependency- updates能告诉你项目依赖有哪些可用的更新;类似的display-plugin-updates能告诉你可用的插件更新;然后use- latest-versions能自动帮你将所有依赖升级到最新版本。最后,如果你对所做的更改满意,则可以使用 mvn versions:commit 提交,不满意的话也可以使用mvn versions:revert 进行撤销。

分享到:
评论

相关推荐

    dockerfile-maven-plugin 配置记录

    dockerfile-maven-plugin 支持 maven 直接发布项目至 docker 镜像库

    maven plugin maven plugin

    通过配置 `maven-site-plugin` 可以创建项目的网站和文档,`maven-javadoc-plugin` 用于生成 API 文档,`maven-deploy-plugin` 则负责将构建好的工件部署到远程仓库。 Ant 是一个广泛使用的构建工具,它具有灵活性...

    Maven exec-maven-plugin:执行外部命令的实践指南

    本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...

    maven plugin打包下载

    在Maven的`pom.xml`文件中,我们通过`<build>`标签的`<plugins>`子标签来添加和配置Maven Plugin。例如,添加`maven-jar-plugin`以打包Java应用: ```xml <plugin> <groupId>org.apache.maven.plugins ...

    eclipse maven plugin 插件 安装 和 配置.docx

    ### Eclipse Maven Plugin 插件安装与配置指南 #### 一、引言 在现代软件开发过程中,Maven作为一款强大的构建工具,极大地简化了项目的构建流程。为了更好地集成Maven的功能,Eclipse提供了名为Eclipse Maven ...

    Maven使用tomcat8-maven-plugin插件.docx

    使用 tomcat8-maven-plugin 插件可以简化项目的部署过程,无需手动配置 Tomcat 服务器。该插件可以自动将项目部署到 Tomcat 服务器上,并且可以自动配置 Tomcat 服务器的 settings。 结论 tomcat8-maven-plugin ...

    009 maven插件spring-boot-maven-plugin

    Spring Boot Maven Plugin 提供了自定义层配置的功能,例如可以自定义存档的名称、版本号等。 重新打包可执行的存档 Spring Boot Maven Plugin 提供了重新打包可执行的存档的功能,例如可以将应用程序打包成一个可...

    Maven_Release_Plugin配置

    在Maven的Release Plugin配置中,有两个核心文件特别关键:`settings.xml`和`pom.xml`。 `settings.xml`是Maven的全局或用户级别的配置文件,包含了如仓库地址、镜像设置、认证信息等个性化设置。在发布流程中,它...

    xjar_maven_plugin.rar

    【xjar_maven_plugin.rar】是一个压缩包,包含与Java开发相关的工具,特别是针对Maven项目的xjar-maven-plugin插件。这个插件是用于帮助Java开发者在构建过程中对jar包进行加密,以保护其中的代码和资源不被轻易访问...

    maven plugin

    标题“maven plugin”指的是Maven中的插件系统,这是一个关键功能,允许开发者扩展Maven的功能以满足特定的项目需求。Maven插件通常由一组目标组成,每个目标执行一个特定的任务。例如,`maven-compiler-plugin`用于...

    tomcat7-maven-plugin-2.2.jar

    对于`tomcat7-maven-plugin`,我们可以这样配置: ```xml <plugin> <groupId>org.apache.tomcat.maven <artifactId>tomcat7-maven-plugin <version>2.2 <!-- 配置Tomcat服务器的相关信息,如URL、端口、...

    maven-jetty-plugin

    在实际使用中,开发者通常会在`pom.xml`文件中添加以下配置来启用Maven Jetty Plugin: ```xml ... <plugin> <groupId>org.mortbay.jetty <artifactId>maven-jetty-plugin 版本号 <!-- 配置项 --> ...

    yuicompressor-maven-plugin

    要在Maven项目中使用`yuicompressor-maven-plugin`,首先需要在项目的`pom.xml`文件中添加插件配置。以下是一个基本配置示例: ```xml ... ... <plugin> <groupId>net.alchim31.maven</groupId> ...

    eclipse-maven3-plugin

    3.3.9 版本修复了前一版本的一些问题,提高了性能和稳定性,是许多开发者首选的 Maven 版本。 **eclipse-maven3-plugin** 插件的核心功能包括: 1. **集成 Maven 构建工具**:该插件将 Maven 的强大功能直接嵌入 ...

    maven-eclipse-plugin

    然而,使用maven-eclipse-plugin的过程中,可能会遇到一些常见问题,如项目无法正确导入、编译错误或找不到依赖等。这些问题往往与Maven的配置、Eclipse的设置或网络环境有关。解决这些问题通常需要检查以下几点: ...

    eclipse-maven-plugin

    "Eclipse Maven Plugin" 是一个专门为Eclipse集成开发环境设计的插件,它使得在Eclipse中管理和构建Maven项目变得更为便捷。Maven是一个广泛使用的项目管理和综合工具,它通过配置文件(pom.xml)来管理项目的依赖、...

    eclipse 3.5.1 maven plugin

    Eclipse 3.5.1 Maven Plugin 是一个用于集成Maven构建系统到Eclipse IDE的插件,使得开发者能够在Eclipse环境中便捷地管理Maven项目、执行构建生命周期、解决依赖和配置问题。这个插件极大地提高了Java开发者的生产...

    使用Maven控件proguard-maven-plugin给可执行jar文件混淆

    要使用`proguard-maven-plugin`,我们需要在项目的`pom.xml`文件中添加插件配置。以下是一个基本的配置示例: ```xml ... ... <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-...

    presto-maven-plugin 0.3

    《Presto Maven Plugin 0.3:解决Windows下的编译问题》 Presto Maven Plugin 0.3是一款专为Presto项目定制的Maven编译插件,其核心目的是解决在Windows操作系统下编译Presto时可能出现的问题。这款插件允许开发者...

Global site tag (gtag.js) - Google Analytics