久久精品成人免费观看97
各人好,我是冰河~~
今天,冰河给各人共享一篇大部分人都不会的手段,那便是咱们我方脱手写一款属于我方的Maven插件。好了,径直插足今天的主题吧。
Maven插件的相关见地 插件坐标定位插件与庸碌jar包相似包含坐标定位属性即:groupId、artifactId、version,当使用该插件时会从土产栈房库中搜索,淌若莫得则从汉典仓库下载,举例底下的建立所示。
<!-- 久久精品成人免费观看97独一定位到dependency 插件 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version>execution建立
execution 建立包含一组教养插件怎样现实的属性:
id :现实器定名 phase:标志现实的阶段 goals:标志现实的目的或功能 configuration:标志现实目的所需的建立文献 插件的建立和使用示例将插件依赖拷贝到指定目次。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> <excludeTransitive>true</excludeTransitive> </configuration> </execution> </executions> </plugin>常用插件的使用 通过敕令现实插件语法
除了通过建立的神志使用插件除外,Maven也提供了通过敕令径直调用插件目的其敕令时局如下所示。
mvn groupId:artifactId:version:goal -D{参数名}
通过敕令现实插件示例
(2)展示pom的依赖关系树
mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:tree
(3)径直简化版的敕令,但前提必须是maven 官方插件
mvn dependency:tree其它常用插件
(1)检讨pom 文献的最终建立
mvn help:effective-pom
(2)原型项生分红
archetype:generate
(3)快速创建一个Web要领
mvn archetype:generate -DgroupId=io.mykit.web -DartifactId=mykit-maven-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
(4)快速创建一个Java风物
mvn archetype:generate -DgroupId=io.mykit.java -DartifactId=mykit-maven-java -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false自界说Maven插件
这里,咱们先来说说自界说Maven插件的法子,这里,我将自界说Maven插件的法子转头如下。
(1)创建maven 插件风物
以下是 2022 年的安全趋势(包括趋热与转冷),预计在新的一年里攻击的范围和复杂程度将会变得更加难以应对。
到2023年,中国500强企业将更优先考虑业务目标,而非基础设施的选择。30%新的工作负载将使用解决方案提供商特定的API来部署。
谷歌在安卓12中加入了功能开关,在SIM卡设置中可以启用或者禁用“允许2G”功能。
似乎每一年,量子计算都在向商业可行性迈进。
(2)设定packaging 为maven-plugin
(3)添加插件依赖
(4)编写插件完结逻辑
(5)打包构建插件
接下来,咱们就来完结自界说Maven插件。
建立插件风物的pom.xml这里,我径直跳过了Maven风物的创建,色阁在线征服小伙伴们都会创建Maven风物,这里,我就不再赘述了,径直给出pom.xml文献的建立,如下所示。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>io.mykit.plugin</groupId> <version>1.0.0-SNAPSHOT</version> <artifactId>mykit-maven-plugin</artifactId> <packaging>maven-plugin</packaging> <dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>3.5.0</version> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>3.5</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8 </source> <target>1.8 </target> </configuration> </plugin> </plugins> </build> </project>Maven插件的完结类
接下来,咱们来编写Maven插件的完结类。这里,我径直给出类的源代码,如下所示。
package io.mykit.plugin; import javafx.beans.DefaultProperty; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; /** * @author binghe * @description 自界说Maven插件 */ @Mojo(name = "binghe") public class MykitMavenPlugin extends AbstractMojo { private final Logger logger = LoggerFactory.getLogger(MykitMavenPlugin.class); @Parameter(property="sex") String sex; @Parameter(property="describe") String describe; public void execute() throws MojoExecutionException, MojoFailureException { logger.info(String.format("binghe sex=%s describe=%s",sex,describe)); } }打包装配插件
将自界说的Maven插件打包并装配到土产货Maven仓库,如下所示。
打包mvn clean package装配到土产栈房库
mvn clean install其他风物中援用自界说插件
淌若需要在其他风物中使用咱们自界说的Maven插件,则只需要创建一个Maven风物,在Maven风物的pom.xml文献中引入如下建立即可。
<build> <plugins> <plugin> <!--引入刚刚的插件依赖--> <groupId>io.mykit.plugin</groupId> <version>1.0.0-SNAPSHOT</version> <artifactId>mykit-maven-plugin</artifactId> <!-- 这里加入的是相关参数,这些参数必须跟插件完结内部的属性保持一致 --> <configuration> <sex>男</sex> <describe>冰河期间微信公众号作家</describe> </configuration> </plugin> </plugins> </build>
好了,今天就到这儿吧,我是冰河,咱们下期见!!