如何配置使用Maven插件?
插件配置在学会自定义绑定插件后 , 我们还可以配置插件目标的参数 , 以进一步的控制插件目标所执行的任务 。 几乎所有的Maven插件都有一些可配置的参数 , 我们可以用两种方式去配置它 。
命令行配置
这种配置方式 , 相当于在执行时临时传参数 , 例如我们前面的mvn help:describe那一串命令 , 就利用-D传进了一些参数 。
参数-D是java自带的 , 其功能是通过命令行设置一个java系统属性 , maven是基于java的 , 它简单的重用了该参数 , 在准备插件的时候会检查系统属性 , 便利用java实现了插件参数的配置 。
例如maven-surefire-plugin插件提供了一个maven.test.skip参数 , 当它为true时 , 就会跳过执行测试 。 我们在执行命令时就可以这样输入:mvn install -Dmaven.test.skip=true
POM配置
但是我们更常用的还是在POM文件里配置 , 毕竟有些配置我们一旦配好了 , 后面就几乎不会改变 , 而命令行配置更适合临时的配置 。
例如maven-compiler-plugin , 我们需要配置告诉它编译java1.8版本的源文件 , 生成与JVM1.8兼容的字节码文件 。 可以在configuration标签内进行如下配置 , 还可以结合properties配置 。
<properties>
<jdk.version>1.8</jdk.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${jdk.version</source>
<target>${jdk.version</target>
</configuration>
</plugin>
</plugins>
</build>
这样配置好后 , 这个插件下的所有插件目标 , 就都会使用该配置了 , 不管是compile还是test-compile 。
如果要为特定的插件目标配置 , 只需要将configuration标签移到execution标签里即可 , 也就是跟goals标签同级的地方 。
命令行调用插件其实我们在前面已经用mvn help:describe用过一次了 , 这里再详细说明一下 。
调用插件的命令和mvn install、mvn package类似却又不同 , 它们这种是执行阶段 , 通过命令行指定执行阶段 , 从而顺藤摸瓜执行到和这个阶段绑定的插件目标 。
而我们现在是直接执行插件目标 , 与阶段完全无关 , 只需要输入如下
mvn org.apache.maven.plugins:maven-help-plugin:2.1:describe -Dplugin=compiler
即可
。。。
不是吧阿sir , 这么长你让我们怎么记得住啊?
其实这是标准的全称命令 , groupId:artifactId:version:插件目标 -D参数 , 全称虽然记不住 , 但是它的简写我们应该都认识:
mvn help:describe -Dplugin=compiler
【笔记本|如何配置使用Maven插件?】为了方便我们使用和配置 , Maven就引入了一个名为插件前缀的概念 , 这个概念我们下节再讲~
- 网易云音乐|网易云音乐起诉腾讯音乐,在线音乐平台的“心结”该如何解?
- 小红书|荣耀新机入网!天玑9000+索尼IMX766,旗舰配置!
- 苹果|自己修iPhone体验如何?用户吐槽:又贵又麻烦,直接劝退!
- 笔记本|全球首款!雷蛇公布2K 240Hz高刷屏笔记本:CPU/显卡配置到顶
- 硬盘|目前“实至名归”的三款旗舰机,配置几乎无短板,让人无法拒绝!
- 酷睿处理器|超十代i5不费力!12代酷睿i3-12100办公配置推荐
- 华为荣耀|都是两个圈,如何一眼认出荣耀与华为?
- jvm|JVM底层原理之如何选用C1、C2编译器?它们有什么区别?
- 广州市|企业在拍摄制作产品视频中,如何展现产品价值?
- 对于iPhone14的爆料|标准版成丐中丐!iPhone 14系列配置图出炉