使用JAR包中的类与JDK的rt.jar冲突的问题

问题描述

项目中遇到这样一个问题:使用的第三方JAR包中有一个整包(javax.management)与JDK的javax.management包重复了,但是具体实现却是不一样的,运行的时候第三方JAR包里的类试图调用自己提供的javax.management包里的类,但是JDK也提供了javax.management包,所以虚拟机优先调用了自己的javax.management里的类,于是就出错了。请问这个问题要怎么解决?因为这个原因项目已经停滞好久了,希望看到的大侠给解答一下,不甚感激!项目实际情况是:我要在JDK1.6环境下监控WebLogic8,需要用到weblogic.jar,但是weblogic.jar提供了javax.management包,与JDK1.6提供的javax.management包冲突了,而且内部实现还不完全一样。 问题补充:lyy3323 写道

解决方案

我觉得你完全可以死心了,Oracle的官方document上写了只支持sun JDK1.4http://download.oracle.com/docs/cd/E13196_01/platform/suppconfigs/configs81/81_over/overview.html
解决方案二:
要监控各个版本的Weblogic,换JRockit好了,应该没有什么更好的解决办法啊
解决方案三:
我直接把这个也写给你好了 System.setProperty("jmx.serial.form", "1.0")
解决方案四:
个人觉得原因有2个可能一个是JDK1.5之后就集成了JMX1.2,成为了system library了,而WLS8的JMX只有1.0版本,所以匹配不到。你可以system.setProperty把jmx的版本设置成1.0看看应该能解决另外一个原因,其实还是JMX的问题,Bea的JDK和 SUN JDK中有一些JMX不匹配,换用Bea的你的问题肯定能解决,但建议用第一个,写行代码而已东西都是在改进,你如果用WLS9就没这个烦恼了,因为WLS9删除很多JDK1.5之后包含的重复类,比如你说的javax.management
解决方案五:
1. MyEclipse中启动做配置 在MyEclipse的首先项中,配置服务器,打开对应的weblogic配置,展开path,在prepend一栏中,将web工程lib下xxxxx.jar加入,点击确定,启动,ok. 2. 修改weblogic启动命令 好像是 set PRE_CLASSPATH=%DOMAIN_HOME%libantlr.jar。这个你可以去搜索一下 weblogic 的类加载顺序问题,
解决方案六:
使用时指定包名

时间: 2024-10-22 14:37:00

使用JAR包中的类与JDK的rt.jar冲突的问题的相关文章

jar-Java JAR包中的类 父类方法不可见等

问题描述 Java JAR包中的类 父类方法不可见等 场景: 两个jar包分别为a.jar.b.jar.b.jar中引用了a.jar,具体为b.jar中的类B继承了a.jar中的类A. A有两个方法,a.getName(),a.getAge(),B重写了getName方法,未重写getAge方法. 新建了一个Java项目C,**C只引用了b.jar,未引用a.jar**,于是出现了如下两个问题: 1.在C项目中,类B没有getAge方法 2.在C项目中,使用强制类型转换时(如)B b = (B)

执行可运行jar包时读取jar包中的文件

可运行的jar包,都会在META-INF\MANIFEST.MF中设置Main-Class. 那么如何在jar包中读取其中的某个文件呢? 注意:是在可运行的jar包中读取该jar包中的文件,也就是说读取jar包中文件的这段代码在该jar包中  TestUrl类内容如下: Java代码   import java.io.IOException;   import java.io.InputStream;   import java.net.MalformedURLException;   impo

dom4j从jar包中读取xml文件的方法_java

进行封装的时候,我们常常需要用xml来定义一些规范,在单独运行读取的时候当然不会有问题,但这些xml是往往是放在jar包里的,这样一来,这些东西就找不出来了.文中用到的xml定义如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><ACCESOS> <item>  <SOCIO name="adsf">   <NUMERO>00045

如何在jar包中使用到spring容器中的bean

问题描述 如何在jar包中使用到spring容器中的bean 这个jar包要使用到这个工程中的某个类,而这个类的配置是由spring管理,怎么在这个jar包中获取到这个bean 解决方案 http://my.oschina.net/zjds/blog/371962

java 读取jar包中的资源文件实例程序

1) ClassLoader是abstract的,不可能实例化对象,更加不可能通过ClassLoader调用上面两个方法.所以我们真正写代码的时候,是通过Class类中的getResource()和getResourceAsStream()方法,这两个方法会委托ClassLoader中的getResource()和getResourceAsStream()方法 .好了,现在我们重新写一段Resource代码,来看看上面那段费解的话是什么意思了: Java代码  代码如下 复制代码 package

如何访问jar包中的jsp页面

问题描述 jsp页面已经打包成jar了,包括js,css样式,全都打包了.请问,如何访问.在线急求啊..感谢.. 解决方案 解决方案二:这个真没遇到过.你就当成2个项目.写个webservice试试吧.看看可以不...关注中解决方案三:把jar包放在新工程的lib下,然后根据目录访问就行了.jar包所在目录为新工程的根目录.解决方案四:引用2楼dryzeng的回复: 把jar包放在新工程的lib下,然后根据目录访问就行了.jar包所在目录为新工程的根目录. 不行啊,我试过了.不知道你试过没..解

浅谈java 执行jar包中的main方法_java

浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&

删除jar包中的指定文件

如何删除jar包中的指定文件呢? 当然使用解压缩软件(rar,zip,7z)肯定没问题.但是我想自动化,图形界面的工具就无能为力了. 核心方法: Java代码   /***       * 删除jar包中的内容       * @param jarPath       * @param fileName : "META-INF/BCKEY.DSA"       * @throws IOException       * @throws ArchiveException       */

请问如何让一个类使用jar文件中的类?感谢高手帮忙一下!

问题描述 请问如何让一个类使用jar文件中的类?感谢高手帮忙一下!(本人是初学者,最好说得详细点,谢谢!) 解决方案 解决方案二:import就可以了啊在编译的时候加上-cp<这个jar文件的路径>,选择编译器和JRE到哪去找这些类.javac-cp<这个jar文件的路径>Test.javajava-cp<这个jar文件的路径>Test解决方案三:如果用到好多个jar的话,在windows上需要使用半角分号一个一个地分隔开来,在Linux上使用半角冒号分隔.