Maven是什么?Maven译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目管理工具,可以对 Java 项目进行构建、依赖管理。简而言之,我们使用了Maven,不仅仅可以对工程项目进行管理,打包等,还可以免下载安装类,举个例子,你需要import kafka,只需要在pom.xml配置即可,他会自动为你下载,无需你再离线安装配置
- Maven下载安装配置
见我之前写的一个博客:https://blog.csdn.net/mochou111/article/details/104967170
- Maven配置新类
Maven工程的所有相关配置都依赖于pom.xml,接下来我们详细说一下这个pom
这一部分是基础设置随着你的项目创建完成之后就会自动产生的,无需做其他更改
<?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>datax</groupId> <artifactId>datax-schedule</artifactId> <version>1.0-SNAPSHOT</version>
所有你需要的类都在这里配置,格式参考如下,加上类名,版本等,配置完他会自动更新下载,无需再操作
如果你的环境是内网,需要依赖本地包离线安装,如下面代码里的sqljdbc4,则需要添加scope为system,并添加文件路径<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <scope>system</scope> <systemPath>E:/Files_App/lib/sqljdbc4-4.0.jar</systemPath> </dependency> </dependencies>
这里推荐一个好用的maven官方下载网址,你想要的都可以在里面找到,然后直接把代码复制到dependencies依赖里
https://mvnrepository.com/ 打开这个网址,搜索你想要的类,比如我想要kafka,直接搜,然后找到指定的版本,复制代码即可,如下图
在build里指定插件和其他配置,如下面代码里的分别指定了主类,打包方式,java compile(与你的jdk相符)
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>cn.tongdun.canal.tomssql.ToMssqlBootstrap</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build>
完整的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>cn.tongdun.datax</groupId>
<artifactId>datax-schedule</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<scope>system</scope>
<systemPath>E:/Files_App/lib/sqljdbc4-4.0.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>cn.tongdun.canal.tomssql.ToMssqlBootstrap</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
- maven管理
点击IDEA的最右边窗口的maven,此时也可以查看maven的状态,是正常的还是警告还是报错,定位报错解决后,就可以进行下面的操作,三个主目录,分别是操作,依赖,插件:比如我们常用的打包成jar,就可以使用package