这应该给你一个工作,你可以通过运行mvn package来测试一下(你可以忽略警告“jar will be empty - no content was marked for inclusion!”)。...dependency:tree命令将你的工程依赖打印成一棵树的形式。...在工程的根目录中输入mvn spring-boot:run来启动应用。...通过创建一个在产品中能运行的完整的自包含可执行jar文件来结束我们的例子。可执行jars(有时称为“fat jars”)是包含编译的类和代码运行需要的所有jar依赖的存档文件。...为了解决这个问题,许多开发者使用“uber” jars。uber jar简单的将所有jars的所有类打包到一个单独的存档文件中。这个方法的问题是很难看到你的应用正在使用的是哪个库。
sh /home/admin/devops/find-in-jars.sh -d ....Maven依赖树 由于集团多使用maven,由于依赖冲突会导致如上所述的NoSuchMethodError错误,在遭遇此类问题时通常会需要打印出应用的maven依赖树,通过我们会使用以下几种方式: maven...不知道为啥我的IDEA从某个版本开始就没法使用maven helper了,参考了其部分代码,自己写了个简易插件来生成maven的依赖树。...使用方法是,在对应的pom文件右键选择maven菜单中的tree子菜单即可生成tree.txt文件,这个操作等同于在pom文件所在的子module里mvn dependency:tree -Dverbose...NoClassDefFoundError PreCheck 依赖树打印插件
deploy 将打包的文件发布到私服 mvn dependency:tree 打印出项目的整个依赖树 当然也可以连着使用 mvn clean package 清理打包 mvn clean package...一个命令跑完所有测试用例, 要注意的是只会执行以Test开头或者结尾的测试类,也没必要自己写测试类,我在推荐阅读第一篇文章中演示了快速生成测试类的方法,可以去看看,生成的测试类都是以Test结尾的 mvn...如何看依赖的距离关系呢?...前文说过,执行如下命令打印出全局的依赖树,层级关系特别清楚 mvn dependency:tree > show.txt 声明优先原则 项目依赖如图,路径一样,会选用st-common-lib的哪个版本呢...依赖排除 去掉间接引入的jar包 如不想用spring boot默认提供的log,想集成第三方的log时,或者说上面依赖仲裁的第二个例子中,只想用st-common-lib的1.1版本,就可以把1.0版本排除掉
在CDH5中通过自己单独安装的方式运行Thrift服务现在已经调通并在使用的是如下版本组合: 1.在CDH5中安装Spark1.6的Thrift服务,参考《0079-如何在CDH中启用Spark Thrift...从Spark2.2开始到最新的Spark2.4,因为变化较大,不能够采用上述两种办法直接替换jar包的方式实现,更多的依赖问题导致需要重新编译或者修改更多的东西才能在CDH5中使用最新的Spark2.4...在CDH5基于网易开源的工具Kyuubi实现的Spark2.4 Thrift功能,参考《0644-5.16.1-如何在CDH5中使用Spark2.4 Thrift》。...可以正常的查看到所有的库和表,但是执行count等操作时报错 ? 总结:由于Spark的版本与CDH5中Spark2版本的包冲突问题导致,进行count或查询有数据的表是异常。...2.使用Spark官网的方式选择hadoop版本,hive版本,使用mvn编译,编译失败。 3.使用cdh的Spark2.4的pom文件引入thrift依赖,使用mvn编译,失败。
依赖传递 依赖相关命令 mvn dependency:list:查看当前项目所有依赖。...mvn dependency:tree:以树的形式显示当前项目的所有依赖,相比mvn dependency:list 列表显示,能很清楚的看到某个依赖是通过哪条依赖路径引入的。...在场景2中,如果要使A依赖C(version:2.0) ,则可以配置排除依赖: com.nocoffee...依赖范围介绍 compile:编译依赖范围,默认使用该依赖范围,在所有classpath中都可用,并且依赖项将传播到依赖项目。...runtime:运行时依赖范围,只对于测试和运行classpath有效,但在编译主代码时无效。 test:测试依赖范围,只对于测试的classpath有效,仅适用于测试编译和执行阶段,如junit。
在 IntelliJ IDEA 中,推荐从菜单 Help | Edit Custom VM Options 来修改 JVM 选项。...// 我们也不能从 shadowJar 中排除传递依赖(请查看 https://github.com/johnrengelman/shadow/issues/159)。...configurations { flinkShadowJar // dependencies which go into the shadowJar // 总是排除这些依赖(也来自传递依赖...shadow jar 中, // 这些依赖会在 Flink 的 lib 目录中提供。...main 方法是程序的入口,即可用于IDE测试/执行,也可用于部署。 我们建议你将 此项目导入你的 IDE 来开发和测试它。
因此,如何排查和解决 Jar 包依赖冲突问题成为了每个 Java 开发人员必须掌握的技能之一。什么是 Jar 包依赖冲突?...这种情况下,我们需要检查项目中所使用的依赖是否存在冲突,并及时进行解决,否则就会影响项目的正常运行。如何排查 Jar 包依赖冲突?...例如,在使用 Maven 时,可以通过在命令行中执行“mvn dependency:tree”命令来获取依赖树。...$ mvn dependency:tree该命令会输出项目的依赖树,包括每个依赖的版本号、父子依赖关系等信息。通过查看依赖树,我们可以快速定位哪些依赖存在冲突。...方法二:排除 Jar 包依赖在 Maven 中,我们可以使用“排除依赖”(exclude)的方式来解决冲突问题。
,将 Maven 安装配置到操作系统环境中,主要就是配置 M2_HOME 和 PATH 两项,如下图: 都搞定后,验证一下,打开 doc 输入mvn -v 如何得到下面信息就说明配置成功了 主要目录...repo1:匹配所有远程仓库,repo1 除外,使用感叹号将仓库从匹配中排除 需要注意的是,当镜像仓库不稳定或者停止服务的时候,Maven 仍将无法访问被镜像仓库,因而将无法下载构件...) mvn clean compile:表示先运行清理之后运行编译,会将代码编译到 target 文件夹中 mvn clean test:运行清理和测试。...:任何子目录下所有命名以Test结尾的java类 跳过测试 mvn package-DskipTests 第一种方式:POM中配置 maven-surefire-plugin 插件提供该属性(一般不推荐...mvn test -Dtest =RandomGeneratorTest [测试用例的类名] ——效果是只有需要测试的测试类得到运行 mvn test -Dtest =Random*Test ——运行所有类名以
在工程的根目录中输入mvn spring-boot:run来启动应用。...可执行jars(有时称为“fat jars”)是包含编译的类和代码运行需要的所有jar依赖的存档文件。...可执行jars和Java Java没有提供任何标准方法来加载嵌套的jar文件(例如,jar文件本身包含在一个一个jar中)。如果你想分发一个自包含的应用,这可能是个问题。...为了解决这个问题,许多开发者使用“uber” jars。uber jar简单的将所有jars的所有类打包到一个单独的存档文件中。这个方法的问题是很难看到你的应用正在使用的是哪个库。...保存你的pom.xml并从命令行中运行mvn package: $ mvn package [INFO] Scanning for projects...
都搞定后,验证一下,打开 doc 输入 mvn-v 如何得到下面信息就说明配置成功了。 ? 主要目录 ?...repo1:匹配所有远程仓库,repo1 除外,使用感叹号将仓库从匹配中排除; 需要注意的是,当镜像仓库不稳定或者停止服务的时候,Maven 仍将无法访问被镜像仓库,因而将无法下载构件...target 文件夹中; mvn clean test:运行清理和测试; mvn cleanpackage:运行清理和打包; mvn clean install:运行清理和安装,会将打好的包安装到本地仓库中...有时候你引入的依赖中包含你不想要的依赖包,你想引入自己想要的,这时候就要用到排除依赖了,比如下图中 spring-boot-starter-web 自带了 logback 这个日志包,我想引入 log4j2...mvn test-Dtest=RandomGeneratorTest[测试用例的类名] ——效果是只有需要测试的测试类得到运行; mvn test-Dtest=Random*Test ——运行所有类名以
test-compile 运行测试:mvn test 产生site:mvn site 打包:mvn package 在本地Repository中安装jar:mvn install 清除产生的项目:mvn...--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。...--当计算传递依赖时, 从依赖构件列表里,列出被排除的依赖构件集。即告诉maven你只依赖指定的项目,不依赖项目的依赖。...--可选依赖,如果你在项目B中把C依赖声明为可选,你就需要在依赖于B的项目(例如项目A)中显式的引用对C的依赖。可选依赖阻断依赖的传递性。
配置文件是不是客户端上最新的 3. zk依赖包是不是华为的,不能是开源的 4. zookeeper.server.principal 这个参数是不是 zookeeper/hadoop.hadoop.com...依次排查 1、2 没问题 在代码中进行了4的修改 没有改3的情况下 报错依旧 从华为客户端中 /opt/client/Kafka/kafka/libs/目录下拷贝出三个jar包 (不知道具体是哪个有修改...kafka,华为技术支持说zookeeper,保险起见都使用华为的) kafka_2.11-1.1.0.jar kafka-clients-1.1.0.jar zookeeper-3.5.1.jar mvn...=huawei_kafka -Dversion=1.1.0 -Dpackaging=jar mvn install:install-file -Dfile=/Users/other/jars/kafka-clients...=zookeeper -Dversion=3.5.1 -Dpackaging=jar 在pom.xml中的配置: org.apache.kafka</
-- 排除jar --> com.alibaba jconsole...其中C是通过依赖传递给A,A中是有C的。...类似JDBC system 编译测试 从本地系统指定路径获取systemPath import 导入阶段 只用在dependencyManagement中,和pom配合使用...解决方式:mvn denpendency:treee -->tree.tex 在当前目录打印出maven 依赖树生成tree.txt 文件,找出冲突的jar。...如何避免依赖冲突:项目中依赖的jar都有父POM 管理,其他模块使用import。
而 maven 可以自动地从清理、编译、测试到生成报告、打包、部署,极大的简化了我们日常的工作,同时它还是一个依赖管理工具和项目信息管理工具,提供了中央仓库,能帮助我们自动下载构件。...否 标记依赖是否可选 exclusions 否 排除传递性依赖选项 3. scope — 依赖范围 maven 在不同的阶段,使用的包加载路径是不同的。...第一声明优先原则,在依赖路径长度相等的前提下,在POM中依赖声明最靠前的依赖优先 例如,项目A有这样的依赖关系: 1....依赖相关的命令 mvn dependency:list — 列出最终确定的依赖 mvn dependency:tree — 打出依赖树 mvn dependency:analyze — 依赖分析,给出项目中已使用但未声明的依赖...依赖管理 多模块项目中,定义一个主 pom,在主 pom 中使用 dependencyManagement 定义依赖、版本和依赖排除 子模块从主 pom 中继承依赖,一般情况下,不要在子模块中做依赖排除
使用mvn命令将工程依赖包导出到lib目录 mvn dependency:copy-dependencies -DoutputDirectory=/Users/fayson/Desktop/lib (可左右滑动...5.通过CM配置SparkStreaming应用依赖包spark-streaming-kafka_2.10-1.6.0-cdh5.12.1.jar 将依赖包部署至CDH集群所有节点的/opt/cloudera...命令将编写好的SparkStreaming代码打包,注意由于工程中有scala代码在编译是命令中需要加scala:compile mvn clean scala:compile package (可左右滑动...5.总结 ---- 1.由于Spark中默认没有Spark-Streaming-Kafka的依赖包,需要将相应的依赖包添加到/opt/cloudera/parcels/CDH/jars目录下,然后在spark-env.sh...中配置相应的依赖包路径,否则会报类找不到的异常。
又是一顿调整依赖! 还不行! 难道是我引入的引来版本不对? 从其他项目找一找怎么用的! 依然不行! 难道是他的 jar 包里面又依赖了很多其他的? 试着 exclusion 掉其他依赖! 依然不行!...既然是打包没有打进去,那就看一下 mvn 依赖树的问题吧! 解决问题 ? 项目结构 web 启动失败,是因为 service 添加的依赖,没有传递到 web,所以 web 打包没有打进去那个类。...现在进入解决方式: 查看 maven 依赖树 进入到 web module,执行以下命令。...PS: 我所有的依赖版本都是在父 POM 进行维护的,子 module 只有依赖 groupId 和 artifactId。 所以归根到底,是因为父 POM 的版本没有传递下去!...下次再遇到记得 mvn -X dependency:tree>tree.txt 看下依赖树! 我的实践已经证明了:重启、清缓存、排除依赖都是没用的! - -
前言: 早上打包项目的时候发现打包速度很慢,耗时颇久,就在一个群里求助,如何使maven打包效率加快,一个群友发来一个链接,如图。...Maven插件类的类加载器缓存在多个构建中,插件jars只会被读取和解析一次。 JVM中JIT生成的本机代码会被保留。与Maven相比,JIT编译花费的时间更少。...这不仅适用于来自Maven插件和Maven内核的代码,也适用于来自JDK本身的所有代码。 默认情况下,mvnd使用多个CPU内核并行构建模块。...如果您的源代码树不支持并行构建,请在命令行上传递-T1以使您的构建串行。...打包测试 # mvn 打包命令 mvn clean package -Dmaven.test.skip=true # 执行结果 [INFO] ----------------------------
使用mvn命令将工程依赖包导出到lib目录 mvn dependency:copy-dependencies -DoutputDirectory=/Users/fayson/Desktop/lib (可左右滑动...通过CM配置SparkKudu依赖包kudu-spark_2.10-1.4.0-cdh5.12.1.jar,将依赖包部署至CDH集群所有节点的/opt/cloudera/parcels/CDH/jars...使用mvn命令将编写好的SparkStreaming代码打包,注意由于工程中有scala代码在编译是命令中需要加scala:compile mvn clean scala:compile package...5.总结 ---- 1.由于Spark中默认没有Spark-Streaming-Kafka的依赖包,需要将相应的依赖包添加到/opt/cloudera/parcels/CDH/jars目录下,然后在spark-env.sh...中配置相应的依赖包路径,否则会报类找不到的异常。
为了解决这一问题,文章提供了一系列的解决方法,包括检查和更新依赖、使用Maven或Gradle的工具来查看依赖树、排除冲突的依赖以及清理并重建项目。...1.2 依赖冲突 如果你的项目中存在多个版本的相同依赖,它们可能会冲突。 1.3 类加载问题 在某些复杂的Java应用中,类加载器的行为可能导致类找不到的错误。 2....解决方法 2.1 检查依赖 首先,确保你的项目中有所有必要的Spring Boot和Nacos的依赖,并且版本是兼容的。...2.2 使用Maven或Gradle的依赖树 对于Maven,执行以下命令: mvn dependency:tree 对于Gradle: ....2.4 排除冲突的依赖 使用Maven或Gradle的排除功能来排除不需要的或有冲突的依赖。 2.5 清理并重建 简单地清理并重建项目可能会解决类路径或构建相关的问题。
领取专属 10元无门槛券
手把手带您无忧上云