云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Maven课程3

Maven课程3

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 18:56:22

请将以下代码拷入你新创建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 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

请将以下代码拷入你新创建maven项目的pom.xml中,看看执行效果:(操作) helloworld org.apache.maven.plugins maven-compiler- plugin 3.1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com