【问题标题】:Issue loading a class file from another package从另一个包加载类文件的问题
【发布时间】:2012-04-29 10:40:46
【问题描述】:

当我尝试从另一个包中获取类时,我在通过 Class.forName(String className) 加载类时遇到问题。它不断抛出ClassNotFoundException,即使我将限定(包)名称完全声明为类名。

有没有办法从另一个包中加载类?

基本上,我要做的是使用配置加载一堆不同的类文件。这不是明确必要的(我只是在玩代码),但我想知道这是否可能。

最后一点,我在 11 月才刚刚开始使用 Java 作为我的第一语言来进行代码开发。

【问题讨论】:

    标签: java class package classloader classnotfoundexception


    【解决方案1】:

    完全有可能。要检查两件事:

    1. 使用点作为分隔符:“java.lang.String”,而不是“java/lang/String”或其他任何东西
    2. 确保另一个包是可加载的——也就是说,它必须在 JVM 的类路径上。

    【讨论】:

    • 如果包不在 JAR 存档中,并且位于 c:\java_stuff\lib\org\bouncycastle\crypto 等目录中,请确保 c:\java_stuff\lib 在您的 CLASSPATH 变量中。如果包在 JAR 存档中,请确保在 CLASSPATH 变量中找到它。
    • 是的,有点作为分隔符。但是,请原谅我的无知,我如何确保包是可加载的?编辑:它在一个 jar 文件中,如果有区别,我使用 eclipse c:
    • Ariel 已告诉您有关设置类路径的信息。另请参阅 setting the classpath on windowslinux 的 oracle 链接
    • 好吧,所以我通过项目属性中的“java构建路径”将我的所有包和类文件添加到我的类路径中,但仍然找不到类:\编辑:它可能可以说我使用的 jar 不是主 jar,它是一个插件系统(我在 CraftBukkit(我的世界服务器软件)中使用它)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 2018-06-17
    • 2014-08-30
    • 2016-01-13
    • 2015-10-28
    • 2020-11-08
    • 1970-01-01
    相关资源
    最近更新 更多