一.用mojo模版创建maven项目,给类添加@mojo注解,重写execute方法
- Mojo 就是Maven plain Old Java Object。每一个 Mojo 就是 Maven 中的一个执行目标(executable goal),而插件则是对单个或多个相关的 Mojo 做统一分发。一个 Mojo 包含一个简单的Java 类。插件中多个类似 Mojo 的通用之处可以使用抽象父类来封装。
插件运行时会执行execute方法中的代码
package org.example;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
@Mojo(name = "mysqltest", defaultPhase = LifecyclePhase.PACKAGE )
public class MyMojo extends AbstractMojo {
public void execute() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC&&useSSL=false","root","sqlformars");
System.out.println(conn);
System.out.println("连接成功");
}catch(ClassNotFoundException e) {
e.printStackTrace();
System.out.print("驱动找不到");
}catch(SQLException e) {
e.printStackTrace();
System.out.println("数据库连接有误");
}
}
}
二.修改pom.xml
添加项目依赖以及插件
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>plugintest</artifactId>
<packaging>maven-plugin</packaging>
<version>1.0-SNAPSHOT</version>
<name>plugintest Maven Mojo</name>
<url>http://maven.apache.org</url>
<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>
<scope>provided </scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.5.2</version>
<!-- 插件执行命令前缀 -->
<configuration>
<goalPrefix>mp</goalPrefix>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration>
</plugin>
<plugin>
<groupId>org.example</groupId>
<artifactId>plugintest</artifactId>
</plugin>
</plugins>
</build>
</project>
自定义的插件: