java.lang.ClassNotFoundException: SpringSkinFactory抽象工厂模式范例报错

示例代码:

package AbstractFactory.utils; import javax.xml.parsers.*; import org.w3c.dom.*; import java.io.*; public class XMLUtil { //该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象 public static Object getBean() { try { //创建文档对象 DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = dFactory.newDocumentBuilder(); Document doc; doc = builder.parse(new File("src/AbstractFactory/config/config.xml")); //获取包含类名的文本节点 NodeList nl = doc.getElementsByTagName("className"); Node classNode = nl.item(0).getFirstChild(); String cName = classNode.getNodeValue(); //通过类名生成实例对象并将其返回 Class<?> c = Class.forName(cName); // Class<?> c = Class.forName("AbstractFactory.factory." +cName); Object obj = c.newInstance(); return obj; } catch (Exception e) { e.printStackTrace(); return null; } } }

报错:

java.lang.ClassNotFoundException: SpringSkinFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at AbstractFactory.utils.XMLUtil.getBean(XMLUtil.java:23) at AbstractFactory.Client.main(Client.java:16) Exception in thread "main" java.lang.NullPointerException at AbstractFactory.Client.main(Client.java:18)

原因:
缺少包名,原例的代码是在默认的包下面,需要加上路径
如我的路径

Class<?> c = Class.forName("AbstractFactory.factory." +cName);

__EOF__

本文作者Lian_tiam
本文链接https://www.cnblogs.com/ancientlian/p/16977950.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Lian_tiam  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示