【问题标题】:loading class from a directory [duplicate]从目录加载类[重复]
【发布时间】:2012-03-07 05:55:20
【问题描述】:

可能重复:
custom classLoader issue

here我想问一个问题,但没有人回答。因此,我将尝试以另一种方式提出我的问题,并且无需代码。 如何让我的 classLoader 从指定目录加载类?目录取自一个字符串 谢谢。

【问题讨论】:

  • “这里我试图提出一个问题,但没有人回答。” 这表明你需要改进你的问题(或者它无法解决)。请勿转载!

标签: java string class directory classloader


【解决方案1】:

您可以使用java.net.URLClassLoader 提供的框架。无需自己编写。它支持从目录和 JAR 文件加载类。

假设任何以“/”结尾的 URL 都指向一个目录。 否则,假定 URL 引用一个 JAR 文件,该文件将被 根据需要打开。

它还支持父类加载器。如果这个类加载器不符合您的要求,也许您可​​以更详细地指定您需要的内容。在任何情况下,您都可以查看源代码并在此基础上派生您自己的类加载器类。

【讨论】:

  • 谢谢!正如您从我指向上一个问题的链接中看到的那样,我尝试使用URLClassLoader。我会再试一次,但我在使用它时遇到了异常。更多详情见here
  • 那么您应该发布您获得的 NPE 的详细信息。并检查您是否正确指定了 URL。
  • NPE 被Class cls = c.loadClass(className); 行抛出。我将路径设置为:“E:/someExistingFolder/blahblahblah/DirectoryWithClass/”,然后如您所见,方法分析路径是否已设置并尝试从设置的路径加载className,但事实并非如此。可能是我做错了什么?
  • 我将在你之前的问题中回答。因为那里有代码。
猜你喜欢
  • 2015-08-01
  • 1970-01-01
  • 2017-12-11
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多