第一范文网 - 专业文章范例文档资料分享平台

Maven课程3

来源:用户分享 时间:2025/6/28 12:33:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

请将以下代码拷入你新创建maven项目的pom.xml中,看看执行效果:(操作)

helloworld < plugin>

< groupId> org.apache.maven.plugins < artifactId> maven-compiler- plugin < version> 3.1 < configuration>

< source> 1.7 < target> 1.7 < encoding> UTF-8 < plugin>

< groupId> org.apache.maven.plugins < artifactId> maven-source- plugin < version> 2.1.1 < executions> < execution>

< id> attach-sources < phase> verify

< goals>

< goal> jar-no-fork

在POM的build元素下的plugins子元素中声明插件的使用。上述配置,首先是基本的插件坐标声明,对于自定义绑定的插件,应该声明一个非快照版本(这个会写到使用规范中),避免由于插件版本变化造成构建不稳定性。除了插件坐标声明外,还有插件执行配置。executions下每个execution子元素可以用来配置执行一个任务。以上配置了一个id为attach-sources的任务,通过phase配置,将其绑定到verify生命周期阶段上,再通过goals配置指定要执行的插件目标。至此,自定义插件绑定完成。运行mvn verify就能看到如下输出:

(4)插件的参数配置(在plugin元素内使用configuration) a.配置插件支持Java5(/Java7)

b.配置compile阶段运行指定的java类(含main方法的类) < plugin>

< groupId> org.codehaus.mojo

< artifactId> exec- maven-plugin < version> 1.3.1

< executions> < execution >

< phase> compile

< goals>

< goal> java

< configuration>

< mainClass> com.csot.mvnbook.mvnbookhellowrold.App

c.配置在compile阶段执行生成项目源码包

org.apache.maven.plugins maven-source-plugin

true

compile

jar

(5)插件管理 (8.3.4 P154)

优点:(1)简化子模块POM的配置。 (2)实现插件版本的统一管理,避免潜在的插件不一致或者不稳定的问题,也便于维护。

Maven提供了pluginManagement元素帮助管理插件。在该元素中配置的插件不会造成实际的插件调用行为,当POM中配置了真正的plugin元素,并且其groupId和artifactId与

pluginManagement中配置的插件匹配时,pluginManagement的配置才会影响实际的插件行为。

使用场景:如配置maven-source-plugin插件生成项目源码包。如果一个项目中有n个子模块,并且很多模块都需要得到模块的源码包,如果没有插件管理,就需要为所有需要得到源码的模块重复类似的配置,这时最好的方法是在父POM中使用pluginManagement配置插件,然后在子模块中声明使用插件即可(只需使用元素配置)。如果子模块不需要使用父模块中pluginManagement配置的插件,不在子模块的POM中声明使用即可。如果子模块需要不同的插件配置,则可以自行配置以覆盖父模块的pluginManagement配置。

当项目中的多个模块有同样的插件配置时,应当将配置移到父POM的pluginManagement元素中。即使各个模块对于同一插件的具体配置不尽相同,也应当使用父POM的pluginManagement元素统一声明插件的版本。(写到规范中)。(可以)要求将所有用到的插件的版本在父POM的pluginManagement元素中声明,子模块使用插件时不配置版本信息。这么做可以统一项目的插件版本,避免潜在的插件不一致或者不稳定的问题,也更易于维护。

(6)插件仓库(7.8.1 P129)(

所有的构件(如插件构件与依赖构件)基于坐标存储在Maven仓库中,在需要的时候,Maven会从本地仓库寻找插件,如果不存在,则从远程仓库查找,找到插件之后,再下载到本地仓库使用。 需要注意的是,Maven会区别对待依赖的远程仓库(repository,对依赖有效果)和插件的远程仓库(pluginRepository),当Maven需要的插件在本地仓库不存在时,它不会去配置的远程仓库(repository)查找。

Maven内置了如下的插件远程仓库配置:

三、依赖管理

依赖配置:

搜索更多关于: Maven课程3 的文档
Maven课程3.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c41p8k8ip0n6h1tw45fj2_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top