Class.forName(Class) 在特定目录中?
Posted
技术标签:
【中文标题】Class.forName(Class) 在特定目录中?【英文标题】:Class.forName(Class) in a specific directory? 【发布时间】:2014-10-06 22:25:20 【问题描述】:在测试我正在开发的写入 SQLite 数据库的程序时,我注意到如果我将 sqlite.jar 文件移动到子目录,Class.forName("org.sqlite.JDBC")
会抛出 ClassNotFoundException。有没有办法可以更改Class.forName("org.sqlite.JDBC")
正在查找的目录,以便我可以将文件存储在我想要的位置?
【问题讨论】:
哈哈。是构建路径中的 sqlite.jar 吗? Class.forName 不是在寻找目录,而是在您的类路径中寻找一个类 【参考方案1】:看起来类路径设置为使用该位置。如果您使用的是 IDE,请将库添加到项目属性中的构建路径,然后执行您的代码。 IDE 将完成您需要做的其余事情。
如果您正在使用类路径设置,则不应将文件从指定类文件的类路径中移动,您的程序将寻找要加载的所需类。
【讨论】:
谢谢,忘记更新项目属性中的位置对我来说是愚蠢的。以上是关于Class.forName(Class) 在特定目录中?的主要内容,如果未能解决你的问题,请参考以下文章
Class.forName() 初始化Thread.currentThread().getContextClassLoader().getResourceAsStream