jar包引用版本不一致引发的问题】的更多相关文章

前几天升级了一个模块的小补丁后,现网出了个问题,调用一个底层接口,获取到的返回对象一直是空的.诡异的是该模块本次升级的补丁内容并不涉及这个接口相关的东西,或者也可以说,补丁就是改了极其简单的一行代码而已.但为啥会引发另一个接口的问题呢? 先看日志,日志里一直打印该接口返回对象为空,第一判断是底层接口出了问题,去看底层,发现人家服务好好的.绕过该模块,直接用工具调用底层接口,没问题.非常诡异,按照经验,推测是jar包出问题了.第二步,看jar包的历史变动.拿本模块的API的jar包跟底层的jar包…
Code-Review-SpringBoot-Maven编译(第三方jar包引用) 在使用maven编译项目时,有时候咱们可能会使用一些第三方的jar包依赖库,比如第三方支付类的接入,大多出于安全考虑,会单独给提供jar包,可是这些jar包依赖库又没有在共有的maven仓库. 一般只能下来放到本项目的lib目录下.如果在打包的时候不进行拷贝处理,会导致打包后的target.jar中不会有lib文件夹中的相关第三方jar包. 打包后没法运行起来,所以需要对第三方jar进行单独处理,让maven打包…
很多人都在用spring开发java项目,普通添加lib目录拷贝jar包,或者创建maven项目时,配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些spring的依赖,只有拷贝.这里总结一下,方便思路清晰.(这里主要以maven项目为例) 1 spring3.x的体系结构 spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖…
https://blog.csdn.net/sinat_39789638/article/details/78005945 共有四种解决方式: 1.第一声明优先原则: 在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效. 所以,先声明自己要用的版本的jar包即可. 2.路径近者优先: 直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突. 3.排出原则: 传递依赖冲突时,可以在不需要的jar的传递依赖中声…
问题描述: 本地开发环境idea中能正常运行项目,而idea打war包到Linux服务器的Tomcat下却不能正常运行,报如下错误: 09-Aug-2019 08:56:06.878 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the…
这个是之前往was上发应用的时候踩的一个坑,当时我们知道was的jdk版本是1.6,然后我们是用1.7的jdk,编译版本选的是1.6,然后放上去不对,我们以为是编译的问题,然后又下载了1.6的jdk,再次编译,还是不对,主要是当时对was不熟悉,不知道在哪里看运行日志,然后我们深入服务器上去找日志,发现报错是class的编译版本过高(JVMCFRE003 bad major version),然后看报错的类,发现是jar包里面的一个类,我们就把jar包换成了低版本的,然后再发布就可以运行了.…
1.在工程上名上右键->Build Path ->Configure Build Path 2.在Libraries选项卡中,选择右侧的Add External JARs,然后选择要导入的jar包即可! 3.在Order and Export选项卡中,点击右侧的Up,将刚才引入的jar包放到最上方的位置,前边的勾记得要勾上! (关于放到首位,是自我感觉这样是最安全,最好用的方法,没有什么必然原因) 这样你的第三方的jar包就算成功的引入到你的工程文件中了!…
tomcat启动一个spring的项目,tomcat使用8.5,JDK使用1.8,Spring使用3.0,启动之后报错 Caused by: java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.spring…
在使用kafka 和zookeeper 实现实时分析程序时,由于zookeeper部署版本和分析程序导入jar包的版本不一致,导致了当实时分析程序从远程服务器连接kafka集群的zookeeper时报错,错误信息如下: -- ::,-[TS] INFO main-EventThread org.I0Itec.zkclient.ZkClient - zookeeper state changed (Disconnected) -- ::,-[TS] INFO main-SendThread() o…
idea中 gradle中 引用jar包,版本后面默认加:的问题 gradle中引用jar包版本不一致的问题 gradle中引用jar失败的问题 如上题目所示,三个问题其实都是同一样的简单又恶心,因为你知道明明问题出在这里,但就是不能解决 解决方法: 第一步,你首先刷新你的gradel引用架包 第二步,刷新完了之后,如果还是这样的问题,有一个简单的解决方法可以解决,你可以找同事本地的架包或者自己换一台电脑,将这几个架包下载下来以后,在gradle的本地文件夹下找到并复制到本机本地的仓库中即可 /…
maven 中使用jar包的多个版本容易造成依赖问题,解决问题的方式可以将 使用jar包的版本排除掉,比如dubbo使用netty 4.0.33版本可以将dubbo排除掉 netty依赖,这样其他jar包就不会引用到netty4.0.33版本了. 如下: <dependency> <groupId>com.jd</groupId> <artifactId>jsf</artifactId> <version>1.6.0</vers…
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件. 比如有个叫做test.jar的jar包,里面有一个拥有main函数的main class:test.someClassName 我们就只要在MANIFEST.MF里面添加如下一句话: Main-Class: test.someClassName 然后我们可以在控制台里输入java…
引入:http://blog.csdn.net/sanzhongguren/article/details/71191290 在spring reference中提到一个解决spring jar包之间版本冲突的解决方案,原文如下 It is possible to accidentally mix different versions of Spring JARs when using Maven. For example, you may find that a third-party lib…
Java SE 9 多版本兼容 JAR 包示例 作者:Grey 原文地址:Java SE 9 多版本兼容 JAR 包示例 说明 Java 9 版本中增强了Jar 包多版本字节码文件格式支持,也就是说在同一个 Jar 包中我们可以包含多个 Java 版本的 class 文件,这样就能做到 Jar 包升级到新的 Java 版本时不用强迫使用方为了使用新 Jar 包而升级自己的业务模块 Java 版本,也不用针对不同最低支持 Java 版本提供不同的 Jar,真正的做到了一个 Jar 包兼容所有的目的…
Jar包冲突是老生常谈的问题,几乎每一个Java程序猿都不可避免地遇到过,并且也都能想到通常的原因一般是同一个Jar包由于maven传递依赖等原因被引进了多个不同的版本而导致,可采用依赖排除.依赖管理等常规方式来尝试解决该问题,但这些方式真正能彻底解决该冲突问题吗?答案是否定的.笔者之所以将文章题目起为“重新看待”,是因为之前对于Jar包冲突问题的理解仅仅停留在前面所说的那些,直到在工作中遇到的一系列Jar包冲突问题后,才发现并不是那么简单,对该问题有了重新的认识,接下来本文将围绕Jar包冲突的…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录引用库错误解决办法引入jar包引用库相关问题处理eclipse 导入或新建项目时报错 引用库错误解决办法 如果在libraries中发现有小红叉,表明引用库错误 解决办法: 在左侧projects中add引用到的库 如:我们的支付库引用了以下三个库 那么需要在projects中a…
maven的东西使用了一段时间,但是每次使用都多少有点含糊,所以总结一下. 目前主要使用是在jar包的控制上 原理: 在本地,指定一个文件夹,便是maven的仓库,maven会从远程的中央仓库中下载你需要的jar资源到你本地,然后通过maven关联,讲jar包依赖到你的项目中,避免了你需要将jar包拷贝到lib中,并通过classpath引入这些jar包的工作. 使用优点: 方便添加项目依赖的jar包,比如,你需要使用spring-mvc,那么,你必须引入spring-mvc及其相关的所有jar…
转自:http://blog.csdn.net/huzgd/article/details/7604069本人已试过第二种解决方法可行!! 原文:Posted by Foxykeep on 22/03/2012 http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17 在升级了我的Android SDK和ADT到版本17后,我又遇到了一个大问题:) 在使用了第三方JAR包的工程中,我仍然能正常…
一.问题概述 如题所说,后端应用(非spring boot项目)通常用到了很多jar包,比如spring系列.mybatis.hibernate.各类连接数据库的客户端的jar包.可能这个jar包用的是logback.那个用的是log4j.那个又是log4j2, 这时候,怎么才能保证各jar包的日志都能输出,且能以统一的格式输出呢? 为什么要强调非spring boot项目,可参考第四节. 二.几种日志框架的简单介绍 来源:https://juejin.im/post/5a7c5d5751882…
一.相关说明 IOC: Inversion of Control,控制反转,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency Injection,简称DI).通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它.也可以说,依赖被注入到对象中.简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可. AOP 在软件业,AOP为Aspect Oriented Programm…
背景 近期换了一个项目组,用的是公司自研产品,涉及到很多内部JAR包引用,版本号很多,每次更新都是产品部给出jar包,项目组成员各自复制一套本地替换,来了新人各种安装配置,复杂度太高,这不,我一来,又是这里给我几个包又是那里替换几个引用,环境整的头大.Nexus 私服就是解决这问题的关键. 其实几年前,就给这边搭过一次nexus2.0,我走了后似乎就没用过了,废话不多说.再来一遍呗. 版本 JDK: 1.8.0_151 (请自行解决安装) Nexus: 3.0.0-03 Maven: apach…
一.背景 我们经常会遇到比较两个jar包的版本号,这里贴下相关实现. 请尊重作者劳动成果,转载请标明原文链接:https://www.cnblogs.com/waterystone/p/11385472.html 二.方案 2.1 引用maven-artifact <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact</artifactId> <…
背景:使用maven很方便,但是引入冲突也很常见.后果很严重,各种不明实体找不到,所以需要对jar包的依赖有一个清晰的认识. 查看冲突 参考:用dependency:tree查看maven引入jar包的传递依赖 maven 树 查看依赖 查看jar包的传递依赖,最方便的方式就是打依赖树,使用mvn dependency:tree -Dverbose 改命令在执行时候回重新build一次 dependency:tree -Dverbose 使用如下命令查看单个jar包的依赖 #详细查看jar包依赖…
在一个项目中同时使用hbase和elasticsearch出现netty的jar包冲突的问题 事件: 在同一maven项目中使用hbase的同时又用了es 程序运行后出错 java.lang.NoSuchMethodError: io.netty.util.AttributeKey.newInstance(Ljava/lang/String;)Lio/netty/util/AttributeKey; 上网查了一些原因,说是netty的版本不同的原因,自己在编译后的目录也看到了不同,分别用了4.0…
在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml指定),我目前实践结果是只能手动进行打包. 1.依赖的jar包全由pom文件指定 使用maven的assembly插件进行打包,需要在pom文件中进行插件配置.基本配置如下,在终端中执行mvn package,即可在target目录生成名字为{artifactId}-jar-with-depende…
写在前面 Maven,学习框架之前我们都会接触到的一个工具,感觉他的定位,似乎就跟git一样,只是方便我们开发?于是自然而然的,很多小猿对于Maven都只是停留在会用的阶段,利用他来构建,打包,引入jar包. 而实际上呢,Maven还有很多强大的地方,多模块开发,私服等等也是需要我们掌握的,在实际的开发中,往往是多模块共同开发,特别是我们之前提及的Dubbo分布式开发中,多模块开发是重中之重! 传统项目开发 导jar包 既然是导jar包,我们是在本地windows开发,而实际项目是要放到linu…
1. 基本格式 属性名称:空格+属性值 2. 一行最多72个字符,换行继续必须以空格开头 3. 文件最后必须要有一个回车换行 4. Class-Path 当前路径是jar包所在目录,如果要引用当前目录下一个子目录中的jar包,列入lib目录下的javassist.jar. lib/javassist.jar 5. Boot-Class-Path的相对路径是从Jar包所在的绝对路径算起的,多个jar包用空格分隔. 6. 在任何平台上路径分割符都是 /,多个jar包引用以空格分开 Manifest-…
我们在搭建SSH框架的时候,需要引入各自的一些jar包,相信很多初学者跟我一样,搜个资料,照搬过来(当然版本还得对应),至于为什么要引入这些个jar包,引入它们的作用是啥子,一头雾水,今天我就来跟这些SSH的初学者一起来探究一下SSH中的jar包. 首先,先来看一下我们使用的SSH的各自版本及引入的jar包. struts2.3.1.2: struts2-core-2.3.1.jar javassist-3.11.0.GA.jar commons-io-2.0.1.jar commons-lan…
前面文章<Proguard进行源代码混淆>讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:http://blog.csdn.net/p106786860/article/details/11974863),但是在实际工作中发现,通过上述方法对导出的Jar并没有进行混淆. 下面我们就介绍,如果对导出的Jar包进行代码混淆. 一.准备工作 首先我们要准备好:1.你已经导出的jar包(srcjar.jar)文件,2.ProguardGui工具 (sdk…
(前提是你有jar包源代码!!) .确保Referenced LIbraies下已经有该jar包,否则的话,右击该jar包选build path->add to build path. 二.右键本project选properties后,在左側选java build path,然后在右边选项卡选order and export,调整android private libraries的位置到最底部. 三.选择在Referenced LIbraies下的该jar包(注意不要在其它文件夹选),右击选pr…