Maven 依赖与插件
一、插件
pom文件中插件格式
<build><plugins><plugin> ..... </plugin></plugins></build>
1、scala代码打包插件
<plugin><groupId>net.alchim31.maven</groupId><artifactId>scala-maven-plugin</artifactId><version>4.0.0</version><executions><execution><id>scala-compile-first</id><phase>process-resources</phase><goals><goal>add-source</goal><goal>compile</goal></goals></execution></executions></plugin>
2、带依赖打包插件
<plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><!-- 指定主类 --><mainClass>WordCountSpark</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin>
二、依赖
2.1、解决依赖冲突
报错:某个包下的类找不到
1.查看依赖树查找冲突的jar包
方式一:使用mvn dependency:tree
mvn dependency:tree >data/tree.txt //将依赖树导出到当前目录下
依赖树
[INFO] +- ru.yandex.clickhouse:clickhouse-jdbc:jar:0.3.0:compile
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.13:compile
[INFO] | | \- org.apache.httpcomponents:httpcore:jar:4.4.13:compile
[INFO] | +- org.apache.httpcomponents:httpmime:jar:4.5.13:compile
[INFO] | +- org.lz4:lz4-java:jar:1.7.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.9.10:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.10.8:compile
[INFO] | \- com.github.RoaringBitmap:RoaringBitmap:jar:0.9.9:compile
[INFO] | +- com.github.RoaringBitmap.RoaringBitmap:RoaringBitmap:jar:0.9.9:compile
[INFO] | \- com.github.RoaringBitmap.RoaringBitmap:shims:jar:0.9.9:compile[INFO] | +- org.apache.hadoop:hadoop-hdfs-client:jar:3.1.3:compile
[INFO] | | +- com.squareup.okhttp:okhttp:jar:2.7.5:compile
[INFO] | | | \- com.squareup.okio:okio:jar:1.6.0:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-annotations:jar:2.7.8:compile
方式二:下载Maven Helper 插件
file-settings-Plugins-搜索Maven Helper-install-重启idea
打开pom.xml文件-点击文件下面的 Dependency Analyzer-在Conficts处可以搜索冲突的jar包名
2.排除冲突的jar包:exclusion
<dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.3.0</version><exclusions><exclusion><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></exclusion><exclusion><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId></exclusion></exclusions></dependency>
2.2 flink 相关依赖
<?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>com.yangyang</groupId><artifactId>202006flink</artifactId><version>1.0-SNAPSHOT</version><properties><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.target>${java.version}</maven.compiler.target><flink.version>1.12.0</flink.version><scala.version>2.12</scala.version><hadoop.version>3.1.3</hadoop.version></properties><dependencies><!--idea环境中报错找不到 jdk.tools 时可添加此依赖--><dependency><groupId>jdk.tools</groupId><artifactId>jdk.tools</artifactId><version>${java.version}</version><scope>system</scope><systemPath>D:/software/Java/jdk1.8.0_131/lib/tools.jar</systemPath></dependency><!--1、idea本地测试flink程序查看web ui界面时添加此依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-runtime-web_${scala.version}</artifactId><version>${flink.version}</version></dependency><!--2、flink-java依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-java</artifactId><version>${flink.version}</version><scope>provided</scope></dependency><!--3、flink-streaming-java 依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java_${scala.version}</artifactId><version>${flink.version}</version><scope>provided</scope></dependency><!--4、flink-clients 依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-clients_${scala.version}</artifactId><version>${flink.version}</version><scope>provided</scope></dependency><!--5、flink状态后端 rocksdb 依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-statebackend-rocksdb_${scala.version}</artifactId><version>${flink.version}</version><scope>provided</scope></dependency><!--6、flink连接 kafka 依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-kafka_${scala.version}</artifactId><version>${flink.version}</version><!-- <scope>provided</scope>--></dependency><!--7、 mysql 连接 依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.48</version><scope>provided</scope></dependency><!--8、 postgres-cdc 连接 依赖--><dependency><groupId>com.alibaba.ververica</groupId><artifactId>flink-connector-postgres-cdc</artifactId><version>1.4.0</version></dependency><!--9、 mysql-cdc 连接 依赖--><dependency><groupId>com.alibaba.ververica</groupId><artifactId>flink-connector-mysql-cdc</artifactId><version>1.2.0</version><scope>provided</scope></dependency><!--10、 阿里巴巴的 fastjson 依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.75</version><scope>provided</scope></dependency><!--11、 flink的 table API 依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-planner-blink_${scala.version}</artifactId><version>${flink.version}</version></dependency><!--12、 flink-cep复杂事件处理 依赖--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-cep_${scala.version}</artifactId><version>${flink.version}</version><!--<scope>provided</scope>--></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-json</artifactId><version>${flink.version}</version><!-- <scope>provided</scope>--></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.48</version></dependency><dependency><groupId>com.alibaba.ververica</groupId><artifactId>flink-connector-mysql-cdc</artifactId><version>1.2.0</version></dependency><!--如果保存检查点到hdfs上,需要引入此依赖--><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>${hadoop.version}</version><!-- <scope>provided</scope>--></dependency><!--Flink默认使用的是slf4j记录日志,相当于一个日志的接口,我们这里使用log4j作为具体的日志实现--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-to-slf4j</artifactId><version>2.14.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.20</version><scope>compile</scope></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-cep_2.12</artifactId><version>1.12.0</version><!-- <scope>provided</scope>--></dependency><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.2.0</version></dependency><dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.3.0</version><exclusions><exclusion><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></exclusion><exclusion><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-jdbc_${scala.version}</artifactId><version>${flink.version}</version><!--<scope>provided</scope>--></dependency><!-- flinksql相关依赖:java-bridge、planner-blink--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-api-java-bridge_${scala.version}</artifactId><version>${flink.version}</version><!--<scope>provided</scope>--></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-planner-blink_${scala.version}</artifactId><version>${flink.version}</version><scope>provided</scope></dependency><!-- ik分词器--><dependency><groupId>com.janeluo</groupId><artifactId>ikanalyzer</artifactId><version>2012_u6</version></dependency></dependencies>
</project>
Maven 依赖与插件相关推荐
- IDEA Maven 依赖分析插件Maven Helper
IDEA 安装Maven Helper插件 1.打开setting,找到Plugins选项(安装Maven Helper 插件(如果有就跳过这一步)) 检索:Maven Helper 安装成功后,重新 ...
- 解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:桔子214032 segmentfault.com/ ...
- 碰到Maven依赖冲突,想砸电脑?这个IDEA插件必须了解一下...
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:https://urlify.cn/mAj6Nj # 何为依 ...
- Maven依赖管理和插件配置
文章目录 导入依赖 依赖范围 Maven插件 插件添加位置 导入依赖 导入依赖坐标,无需手动导入jar包就可以引入jar,在pom.xml中使用标签引入依赖 导入junit的依赖 <depend ...
- maven插件依赖_当Maven依赖插件位于
maven插件依赖 问题: 我们进行了一个集成测试,该测试创建了一个Spring ClassPathXmlApplicationContext ,同时这样做导致NoSuchMethodError爆炸. ...
- 当Maven依赖插件位于
问题: 我们进行了一个集成测试,该测试创建了一个Spring ClassPathXmlApplicationContext ,同时这样做导致NoSuchMethodError爆炸. 事实证明,我们对S ...
- idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?
1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...
- Java技术--maven的assembly插件打包(依赖包归档)
注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业) ...
- java assembly_Java技术--maven的assembly插件打包(依赖包归档)
注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业) ...
最新文章
- 基于最短路方法的生物序列比对问题研究
- Bootstrap3 排版-缩略语
- metasploit 目录结构
- 从ubuntu中文论坛转载的一片超好的文章,慢慢学习中
- wxWidgets:使用自定义对话框和 sizer
- 关于JAVA中URL传递中文参数,取值是乱码的解决办法
- day8网络编程,面向对象1
- vuejs 和 element 搭建的一个后台管理界面【收藏】
- IOS学习之多线程(2)--创建线程
- unity3D 实战 《小十传奇》系列之三:控制层(下)
- Mysql约束 笔记
- Java实践(五)——类的声明与引用
- Wildcard Matching
- Delphi XE8移动应用开发中Andr​​oid权限设置
- Ubuntu 12.04 设置终端字体为文泉驿
- servlet 跳转到 jsp 乱码解决
- 『天涯杂谈』衣食住行小窍门
- python微信库无法登录怎么办出现异常_微信出现异常登录了怎么办
- 【Linux】Linux操作系统简单介绍 ----vim编辑器
- win10+hexo+github搭建个人博客