【问题标题】:can a .class file be added to the urlpath of a URLClassLoader可以将 .class 文件添加到 URLClassLoader 的 urlpath 中吗
【发布时间】:2010-04-14 11:17:14
【问题描述】:

我有一个从 URLClassLoader 扩展而来的自定义类加载器。我使用 addURL() 向 urlpath 添加了一个 .class 文件;但是当我使用这个加载器做一个 class.forname() 时,我得到一个 ClassNotFoundException。但是,如果我创建一个 jar 并将该 jar 添加到 urlpath,我不会得到任何异常。

使用 addURL(),我们可以添加 .class 文件或目录吗?有人可以确认这一点,因为它不适合我吗?

【问题讨论】:

  • addURL(new File("classes/com/example/Foo.class").toURI().toURL()) 不起作用,但是 addURL(new File("classes").toURI ().toURL()) 应该。如果它不起作用,您需要包含源和相关目录和类名。

标签: java urlclassloader classnotfoundexception


【解决方案1】:

addURL 的参数应该指向包含 .class 根包的目录,而不是文件本身。

【讨论】:

  • 对于 Sun JVM,这是真的,但有趣的是,javadoc 非常模糊,实际实现隐藏在 sun.misc 包中,因此它可能不适用于所有 JVM。
猜你喜欢
  • 2015-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 2011-06-17
相关资源
最近更新 更多