首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClassLoader loadClass throws

ClassLoader loadClass throws
EN

Stack Overflow用户
提问于 2013-10-06 04:29:23
回答 1查看 3.3K关注 0票数 2
代码语言:javascript
复制
String pathToJar = "C:\\Users\\dtn\\jb_workspace\\helloworld-mdb\\target\\jboss-as-helloworld-mdb.war";

URL[] urls = { new URL("jar:file:///" + pathToJar+"!/") };
URLClassLoader urlcl = new URLClassLoader(urls);
urlcl.loadClass("org.jboss.as.quickstarts.mdb.HelloWorldTopicMDB");

我得到的例外是:

代码语言:javascript
复制
Exception in thread "main" java.lang.ClassNotFoundException: org.jboss.as.quickstarts.mdb.HelloWorldTopicMDB

当我调查这个问题时,我看到HelloWorldTopicMDB.class文件存储在WEB/类中。

这能成为问题的根源吗?由于我尝试使用其他jar文件(包名位于jar目录结构的根目录),所以没有出现错误。

非常感谢您的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-06 05:22:50

在正确的war文件中,编译的类总是在WEB/类中,运行时需要的jars位于WEB/lib中。

这绝对是你问题的原因。这个资源应该可以帮助您从war文件中加载类。

我必须说,虽然这似乎是相当不正统的。通常,web服务器从war文件中加载类。我能问问你为什么要这么做吗?

不管怎么样,希望这能帮上忙。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19205441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档