双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请教classloader问题与类的反射问题

jayli426 jayli426 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在我有一段反射代码,通过读配置文件来反射加载类,在j2se中是没有问题的,但是放在web环境却不行,报类找不到的错误
类如下:
import java.io.*;
import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.jdom.*;
import java.util.List;
import java.lang.reflect.Method;
import java.lang.reflect.*;

public class Test {
private static String path = null;




public static void init()
{
try {
FileInputStream fi = new FileInputStream(./SynEmip.xml);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root= doc.getRootElement();
List providerList = root.getChildren();
int len = providerList.size();
cls_provider = new Class[len];
for (int i = 0; i < len; i++) {
Element provider = (Element) providerList.get(i);
String className = provider.getText();
System.out.println("-------->className="+className+"<----------");
//cls_provider[i] = Class.forName(className);也是不行的
cls_provider[i] = Class.forName(className,false,ClassLoader.getSystemClassLoader());

}
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}
catch (JDOMException ex) {
ex.printStackTrace();
}
catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
}

public static void main(String[] args) {

test();

}

public static void test()
{
Test test =new Test();
test.testClassLoader();
init();
}
public void testClassLoader()
{
System.out.println("-------->ClassLoader="+this.getClass().getClassLoader().toString()+"<---------");
System.out.println("-------->ClassLoader="+ClassLoader.getSystemClassLoader()+"<---------");
}

}


而那个配置文件也很简单SynEmip.xml
<?xml version="1.0" encoding="GB2312"?>
<providers>
<provider>com.usermanager.syn.service.SynEmipToTestProvider</provider>
</providers>

我把异常也贴出来
-------->ClassLoader=weblogic.utils.classloaders.ChangeAwareClassLoader@74c144( finder: weblogic.utils.classloaders.CodeGenClassFinder@19fc023, annotation: usermgt@usermgt, parent: weblogic.utils.classloaders.GenericClassLoader@13c765e( finder: weblogic.utils.classloaders.CodeGenClassFinder@ff65bf, annotation: usermgt@, parent: weblogic.utils.classloaders.GenericClassLoader@9b86ea( finder: weblogic.utils.classloaders.CodeGenClassFinder@d5714b, annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@e7b3f2( finder: weblogic.utils.classloaders.CodeGenClassFinder@100fa88, annotation: null, parent: sun.misc.Launcher$AppClassLoader@19fcc69))))<---------
-------->ClassLoader=sun.misc.Launcher$AppClassLoader@19fcc69<---------
-------->className=
com.usermanager.syn.service.SynEmipToTestProvider
<----------
java.lang.ClassNotFoundException:
com/usermanager/syn/service/SynEmipToTestProvider

at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)


这是为何阿
异常就出现在“Class.forName(className,false,ClassLoader.getSystemClassLoader());”
这个代码
如果是“Class.forName(className)”也是同样的结果
大虾能解析一下这是为何吗??
再次强调j2se是好的,而web应用不行,我的web应用部署在weblogic上,操作系统是solaris9
...全文

相关推荐

1960-2023年世界各国国内生产总值/世界各国GDP数据

1960-2023年世界各国国内生产总值/世界各国GDP数据 1、时间:1960-2023年 2、来源:世界银行 3、指标:国家名称、年份、国内生产总值 4、范围:世界各国

m0_71334485

gb28181-go 双端合一实践:SIP/RTP 信令与媒体流开发指南

安防视频接入领域,设备端与平台端的协议理解不一致是常态,SIP 信令交互与 RTP 媒体传输构成了国标 GB/T 28181 的两大核心。SIP 负责会话建立与指令控制,RTP 负责视音频数据承载。在实际工程中,UAC(设备端)与 UAS(平台端)的角色会随业务流程切换,传统双端分离的开发方式常导致联调成本高、状态机不一致。采用 Go 语言实现的 gb28181-go 通过单库双端设计,将 UAC 注册、目录上报、点播推流与 UAS 的注册管理、点播邀请、云台控制整合进同一套 SIP 栈,配合并发模型解耦信

佚格麻瓜

GB/T 28181双端合一Go库实战:设备端与平台端信令、媒体及坑位全解

在安防音视频接入与国标网关建设中,GB/T 28181协议往往被视为最复杂的环节之一。它基于SIP信令扩展出注册、心跳、点播、回放等一系列流程,同时需要兼顾设备侧(UAC)与平台侧(UAS)的差异化逻辑。传统开发中,设备厂商与平台团队各自维护一套协议栈,信令字段对齐成本极高。而一个双端合一的开源实现,将SIP编解码、SDP协商、PS流封装解析等底层能力统一收敛,一份代码既能模拟摄像头注册到平台,也能作为平台接收真实终端,大幅降低信令联调与媒体排障难度。文章从SIP信令基础讲起,深入剖析设备注册鉴权、心跳保活

浩浩耗

1960-2023年世界各国人均国民总收入数据

1960-2023年世界各国人均国民总收入数据 1、时间:1960-2023年 2、来源:世界银行 3、指标:国家名称、年份、人均国民总收入,阿特拉斯法(现行美元) 4、范围:世界各国

m0_71334485

1960-2023年世界各国国民总收入数据

1960-2023年世界各国国民总收入数据 1、时间:1960-2023年 2、来源:world bank 3、指标:国家/地区名称、年份、国民总收入 4、范围:世界各国

m0_71334485
评论 4
收藏 已收藏
分享
返回顶部
jayli426
Java SE 62,621 成员 307,251 内容