2010-06-29 78 views
0

我试图扩展自定义数据源在自定义环境中的JMF实现。 我的JMF实现打包成jar文件(只有class文件,全部模糊处理)。在由jar文件(JMF自定义数据源实现)定义的同一个包中创建自定义类

JMF的包管理器使用反射来实例化一个类。 它为所需的类查找以下包之一:javax,com.sun,com.ibm。 所有这些包都存在于jar文件中。

我需要创建自定义类,例如,在javax包中。 我创建了一个javax包(目录)并将我的自定义类放入其中。 我预计javax包将被视为定义到jar文件中的相同包,就像合并到一个包中的不同javax包一样。 但是,JMF包管理器找不到我的自定义类。

我在等待不可能的事情吗?

非常感谢。

+0

只是一个评论:我试图避免修改原始的jar文件。这在我的开发环境中会成为问题。 – Marcus 2010-06-29 20:08:59

回答

0

这是完全可能的。您的应用程序中必须存在类路径问题,或者您可能试图从不同的类加载器访问这些类;或者你有班级名称重叠。

无论如何,你不应该试图使用这些“保留”的包,即使这在技术上是有效的。我并不确切知道你想要做什么,但只要将你的课程放在特定的软件包中,你就没有什么收获。

+0

感谢您的回答。我设法以其他方式做到这一点。不过,我想知道这是否可能。我正在尝试的是重写一个装入jar文件(第三方)的bug类。我知道如何解决它,但是我无法从我的环境中移除这个罐子。所以我决定重写这个特定类的代码。这样,当试图访问buggy类时,我的自定义类将被用来代替。这是你所了解的吗?再次感谢。 – Marcus 2010-12-29 12:25:43