解决jar包和jdk的jar包冲突方法:

当jar包和jdk自带的方法一样时,

jdk会优先使用它的方法。

如果想优先使用我们jar包里面的方法,方法如下:

  在jdk目录下的/jre/lib 新建endorsed文件,

把优先使用的jar包copy进去,这样方法一样时,会优先使用endorsed的jar里面的方法。

详情:

在JAVA运行环境中有一个叫endorsed的目录,

它充许你将一些特殊的类库放到其中以供项目使用。

  官方说明:

   Specifying the -Djava.endorsed.dirs=lib/endorsed system property 

on the Java command line will force the JVM to prefer any library  

it finds in the endorsed directory over its own system libraries. 

Copying the jars into $JAVA_HOME/jre/lib/endorsed will do the same  

thing.

   其大意是:如果你在运行程序的时候指定了-D java.endorsed.dirs

这个参数所指向的包含特别的jar包的目录,

或者把那些jar复制到缺省的$JAVA_HOME/jre/lib/endorsed目录下。

那么在项目运行时虚拟机会优先使用这些jar包,

优先级比JDK自带的系统类库还要高,

但是java.lang这个语言包下的类除处。

  说到这,想必大家都知道了endorsed技术的作用了吧。 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 由于各Linux开发厂商的不同,因此不同开发厂商的Linux版本操作细节也不一样,今天就来说一下CentOS下JD...
    wildbee58阅读 727评论 0 1
  • ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见...
    时待吾阅读 1,105评论 0 1
  • 一、JDK的安装 1、Java-Package choose 上述文档翻译: JDK:针对Java开发者(Java...
    7叶阅读 1,421评论 1 2
  • JDK = JRE + Tools&Tool APIs JDK的核心是Java SE API。Java SE AP...
    无量散人阅读 701评论 0 1
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,727评论 0 3