0 0

loadClass时出错3

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
Class clazz=classLoader.loadClass("com.Test");


如果用一般的main方法里运行,classLoader为sun.misc.Launcher$AppClassLoader@360be0,可以得到clazz不为null,
但在osgi的felix环境中

public class Activator implements BundleActivator {
	public void start(BundleContext context) throws Exception {
				Thread.currentThread().setContextClassLoader(context.getClass().getClassLoader());
                 ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
                 Class clazz=classLoader.loadClass("com.Test");

			}
}



其中classLoader为java.net.URLClassLoader,然后clazz就得不到了
这个问题怎么解决?能自己编写classLoader吗?怎么写?

问题补充:我是建了一个package叫com,直接在下面建了一个Test类
我现在找到解决办法了:

改成
Thread.currentThread().setContextClassLoader(Activator.getClass().getClassLoader());
就行了
但我不知道为什么这样设置后,在karaf的felix中,classLoader就可以得到clazz不null?类加载器是如何的?各种类加载器的继承关系如何?

liuqing_2010_07 写道
"com.Test"路径不对吧!

2012年4月24日 23:47

1个答案 按时间排序 按投票排序

0 0

"com.Test"路径不对吧!

2012年4月26日 21:50

相关推荐

    net.sourceforge.jtds.jdbc.Driver 找不到

    解决办法: 1.检查对应的数据库JAR包是否导入工程 2.检查.classpath文件里是否引入 3.检查对应的JAR包是否导入Tomcat下的/common/lib/目录下

    PHP 自动加载类原理与用法实例分析

     spl_autoload_register() 函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)时自动去加载。通过注册自动加载器,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。 ...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    通过 RemoteObject 进行调用虽然简单,但存在不少问题:首先,RemoteObject 是一个 Dynamic Class,Flex Builder 的编译器无法替我们检查参数类型和参数个数,这样,在编写 ActionScript 代码时极易出错。...

    vb.net2012操作跨窗体控件(单线程和多线程两种方法)实例

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load CheckForIllegalCrossThreadCalls = False '不写这行,会出错,不允许线程的数据写到TextBox1.Text 中去。 Form2.Show() End Sub ...

    ExtAspNet_v2.3.2_dll

    -不绑定任何数据到Grid时,确保页面不会出错。 -修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。 -修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。 -增加...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    ExtAspNet v2.2.1 ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有... -在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以...

    开放实验室实验预约系统

    传统的实验室管理方式,积累量大,易出错,在实验室开放方面,学生很难查看实验室的空闲时段,管理员也很难为学生预备实验条件。在选择实验课方面,总是以班级或者专业为单位进行排课,使得教学缺乏自主化,人性化,...

    DWR.xml配置文件说明书(含源码)

    Failed to load uk.ltd.getahead.dwr.convert.JDOMConverter. Cause: org/jdom/Document 因为DWR没有办法知道你是否采用jdom converter,所以提示信息是info级别.如果你想采用jdom converter,你必须很清楚地知道jdom...

    Spring MVC 入门实例

    37 <load-on-startup>1</load-on-startup> 38 39 40 41 <servlet-name>ideawu 42 *.do 43 44 45 46 <welcome-file>index.jsp 47 <welcome-file>index.html</welcome-file> 48 49 50 51 52 <taglib-uri>...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>messageBroker</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping> BlazeDS 所需的...

    springmybatis

    以前曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经...

    MFC制作的MP3

    // Mp3.cpp: implementation of the Mp3 class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "Mp3²¥•ÅÆ÷.h" #include "Mp3.h" #ifdef _DEBUG...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    (2) 类名是由程序员自己定义的 Java 标识符,每个类说明必须有 class 和类名。 (3) 类说明修饰符包括:  abstract 说明一个类为抽象类,抽象类是指不能直接实例化对象的类。  final 说明一个类为最终类,即...

    crossphp开发框架

    13、增加Applocation::instanceClass(),实例化依赖delegate的类 14、增加Framebase::loadConfig(),用于读取指定的配置文件 15、修复特殊情况下,Router中获取Action为null的BUG 16、移除Config中的set()方法,...

    spring_MVC源码

    15. <load-on-startup>1</load-on-startup> 16. </servlet> 17. <servlet-mapping> 18. <servlet-name>spring</servlet-name> <!-- 这里在配成spring,下边也要写一个名为spring-servlet.xml的文件,主要用来...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    所以这时改动程序,再运行时便会出错。你可以按下调 试栏上面的红色Stop 停止按钮来停止程序运行。你也可以在windows 任务管理 器的进程中将该进程结束,而后再次运行就没问题了,当然先关闭Qt Creator, 而后再重新...

    网管教程 从入门到精通软件篇.txt

    CLASS:Java类文件 CLP:Windows 剪贴板文件 CLL:Crick Software Clicker文件 CLS:Visual Basic类文件 CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件 CPI:Microsoft MS-DOS代码页...

    PHP微信支付WxPayPubHelper

    $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $array_data; } /** * 作用:以post方式提交xml到对应的接口url */ public ...

    c++ 面试题 总结

    如果少了个=号,编译时就会报错,减少了出错的可能行,可以检测出是否少了= -------------------------------------------------------------------------- 7.下面的代码有什么问题? void DoSomeThing(...) { char* ...

    java解析给定url

    System.out.println("读取配置文件/config.properties出错"); } } /** * 程序总入口 */ private void start() { for(int i = 0; i (); i++) { URLConnection con = getConnection(configList.get(i)); ...

Global site tag (gtag.js) - Google Analytics