0 0

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

项目中遇到这样一个问题:使用的第三方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 写道
使用时指定包名


看来我没有表述清楚,不是包名的问题,我是用到weblogic.jar中的类,而这个类自己会调用javax.management包里的类,但是它是想调用自己的javax.management包,却调用了JDK的javax.management包,所以出错了

问题补充:
lyy3323 写道
1. MyEclipse中启动做配置

在MyEclipse的首先项中,配置服务器,打开对应的weblogic配置,展开path,在prepend一栏中,将web工程lib下xxxxx.jar加入,点击确定,启动,ok.

2. 修改weblogic启动命令
好像是 set PRE_CLASSPATH=%DOMAIN_HOME%\lib\antlr.jar。

这个你可以去搜索一下 weblogic 的类加载顺序问题,




跟这个没关系,我是要监控WebLogic

问题补充:
小卓SUN 写道
个人觉得原因有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


第一个办法我试过了,不行,可以获取到Home,但是之后的操作出错。

我是要监控WebLogic 7、8、9、10各个版本

问题补充:
小卓SUN 写道
要监控各个版本的Weblogic,换JRockit好了,应该没有什么更好的解决办法啊


可是客户方不允许换JDK的,纠结
2011年4月18日 15:22

6个答案 按时间排序 按投票排序

0 0

采纳的答案

我觉得你完全可以死心了,Oracle的官方document上写了
只支持sun JDK1.4

http://download.oracle.com/docs/cd/E13196_01/platform/suppconfigs/configs81/81_over/overview.html


2011年4月20日 15:43
0 0

要监控各个版本的Weblogic,换JRockit好了,应该没有什么更好的解决办法啊

2011年4月19日 16:30
0 0

我直接把这个也写给你好了
System.setProperty("jmx.serial.form", "1.0")

2011年4月18日 16:58
0 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

2011年4月18日 16:55
0 0

1. MyEclipse中启动做配置

在MyEclipse的首先项中,配置服务器,打开对应的weblogic配置,展开path,在prepend一栏中,将web工程lib下xxxxx.jar加入,点击确定,启动,ok.

2. 修改weblogic启动命令
好像是 set PRE_CLASSPATH=%DOMAIN_HOME%\lib\antlr.jar。

这个你可以去搜索一下 weblogic 的类加载顺序问题,

2011年4月18日 16:44
0 0

使用时指定包名

2011年4月18日 16:21

相关推荐

    rt.jar JDK1.8源码

    JDK动态代理生成字节码,用到了ProxyGenerator.generateProxyClass()方法,这个是rt.jar包中的方法,而安装JDK之后的src.zip没有包含。苦于找不到源码,下载了一个又报错,代码也不全,这里给大家分享一下亲测可用的...

    jdk1.6对应的rt.jar

    rt.jar

    jdk1.8 rt.jar 源码

    通过深入研究`rt.jar`源码,开发者可以提升对Java语言的理解,学习如何更有效地使用标准库,避免潜在的问题,并提升代码质量。此外,这也有助于培养良好的编程习惯,更好地遵循Java的设计原则和最佳实践。因此,`rt_...

    OpenJDK中rt.jar源码文件

    OpenJDK中的rt.jar文件是Java运行时库的核心组成部分,包含了Java标准类库(Java Standard Library)的大部分源代码。这个源码包对于开发者来说是一个宝贵的资源,它可以帮助我们深入理解Java API的工作原理,进行...

    java,jdk中rt.jar包

    在使用`rt.jar`时,需要注意的是,它包含的是Oracle或OpenJDK实现的私有API,这些API可能会随着JDK版本的更新而改变,因此在生产环境中,尽量避免直接依赖`rt.jar`中的非公开类和接口,以免产生兼容性问题。...

    jdk1.7.0_79 中rt.jar

    jdk1.7.0_79 中rt.jar

    src.zip(添加了其他rt.jar缺少的源码)

    标签中的"rt.jar src.jar rt.jar.zip jdk java"都是与Java开发和运行相关的关键词: - rt.jar:Java运行时库,包含Java SE平台的核心API。 - src.jar:通常用于存放Java源代码的文件,方便开发者阅读和学习。 - rt....

    jdk1.6的rt.jar的源码

    本文将深入探讨JDK1.6版本的rt.jar源码,解析其中的关键概念、类与方法,帮助开发者更深入地理解Java语言的内部机制。 一、基础架构 rt.jar包含了许多核心包,如java、javax、org、com和sun等。这些包下包含了Java...

    jdk11中缺少的几个jar包

    由于jdk版本是11,在配置flutter环境的时候遇到Android license status unknown问题,需要以下这几个jar包。 activation.jar istack-commons-runtime.jar jaxb-api.jar jaxb-core.jar jaxb-impl.jar jaxb-jxc....

    rt.jar源码下载 jdk版本jdk7u9

    安装完JDK后,会在%JAVA_HOME% /jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中。这个是jdk7u9版本...

    jdk8-source(JDK8源码包含rt.jar下所有包)

    jdk8目录下的源码没有rt.jar中的一些包,例如sun包。 在https://download.java.net/openjdk/jdk8/目录下有相关的下载,但是下载太慢(已经下载不到) 这个包不全,暂时关闭

    JDK中rt.jar、tools.jar和dt.jar作用.docx

    不过,需要注意的是,随着Java版本的更新,一些Swing类已经被包含在rt.jar中,因此在较新的Java版本中,dt.jar的重要性相对降低。 除了这三个jar文件,JRE的lib目录下还有其他一些重要的jar,如jce.jar(Java ...

    jdk1.5的rt.jar的源码

    首先,rt.jar中的`java`包是最基础的部分,它包含了Java语言的基础类库,如`java.lang`包中的`Object`、`String`、`Class`等核心类,这些都是构建所有Java程序的基础。`String`类的实现,例如字符串的拼接、比较、...

    JDK中rt.jar、tools.jar和dt.jar作用.pdf

    在Java开发环境中,JDK包含了多个重要的jar文件,如rt.jar、tools.jar和dt.jar,它们各自承担着不同的职责,对于理解和使用Java平台至关重要。下面将详细解释这三个jar文件的作用。 1. **rt.jar** rt.jar是...

    JDK7源码 包含rt.jar包下的 sun包源码 sun.security包等源码

    `rt.jar`是JDK中的核心类库,包含了Java标准API的实现。这个jar文件中的`sun`包源码通常不对外公开,因为它是Oracle公司私有的实现,涉及到Java平台的内部细节。然而,这些源码对于开发者来说,尤其是对JVM和Java...

    java源代码(rt.jar)简洁版(附去注释代码)

    开始学的时候老想搞明白java是怎么实现的,但源代码中注释巨多,烦死人,一直想去掉这些注释,于是学完io后自己动手写了几行代码,终于是去掉了,但唯一不足的是代码不如eclipse中整齐。。。。不管了,现在拿出分享...

    Unsafe_jdk1.5_rt.jar

    《深入理解Java Unsafe类在JDK 1.5中的应用》 ...在现代的JDK版本中,虽然`Unsafe`类依然存在,但其使用已经逐渐被限制,更多的高级特性如`java.nio`包中的`ByteBuffer`等推荐用于替代`Unsafe`进行内存操作。

    eclipse调试JDK rt.jar

    方便eclipse调试JDK代码 实时查看JDK代码的值

    java运行常用类rt.jar下载

    为了查看或分析`rt.jar`的内容,可以使用jar命令的`tf`选项(如`jar tf rt.jar`)来列出所有包含的类和资源。 总的来说,`rt.jar`是Java运行时不可或缺的一部分,它封装了Java标准库的所有核心类,为Java应用程序...

    java 11 jdk11

    Java 11,也被称为JDK 11,是Java平台标准版(Java SE)的一个重要版本,由Oracle公司发布于2018年9月。这个版本的发布标志着Java进入了一个新的长期支持(LTS)阶段,意味着它将得到更长时间的安全更新和技术支持,...

Global site tag (gtag.js) - Google Analytics