首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java6和SwingUtilities2

Java6和SwingUtilities2
EN

Stack Overflow用户
提问于 2009-10-19 20:24:41
回答 4查看 4.8K关注 0票数 5

应用程序中有使用com.sun.java.swing.SwingUtilities2的组件,现在我知道不应该使用这个类,但它是系统中使用它的组件。

因此,由于它在Java6中不再可用,我得到了一个NoClassDefFoundError。我如何才能在不升级组件的情况下解决这个问题,因为我还不知道这是否可以选择。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-19 20:38:12

如果您完全没有其他选择,那么您应该准确地找出这个类在SwingUtilities2中使用的是什么,然后在您自己的SwingUtilities2中为该功能创建代理。然后,您可以将其粘贴到您自己的com.sun.java.swing包中,该包将与原始的包重叠,并且如果加载您的组件的同一个类加载器也知道SwingUtilities2,那么这个类加载器将看到另一个,您的应用程序将会工作。

根据组件是什么,以及它在SwingUtilities2之外使用了什么,这可能比升级甚至重写它要困难得多。

票数 5
EN

Stack Overflow用户

发布于 2009-10-19 20:30:53

达姆!这就是为什么您应该注意那些令人讨厌的警告,告诫您不要依赖JVM的内部结构!

票数 1
EN

Stack Overflow用户

发布于 2009-10-19 20:45:16

尽管如此,我不知道这是否可行。

尝试提取SwingUtilities2类并将其放入补丁jar中,将此jar包含在类路径中。希望在你改变源码之前,这个方法能正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1590923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档