博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么发布成服务后就load不进来那个jar包了呢?
阅读量:6104 次
发布时间:2019-06-21

本文共 1418 字,大约阅读时间需要 4 分钟。

菜鸟 请教个问题哈 用URLClassload来加载自己打包的jar包,在控制台用main方法测试通过,为什么发布成服务后就load不进来那个jar包了呢?

说明:是在本机上用tomcat做测试!不过将来是要到不同机子上做测试的,还有能用jar包的相对路径访问就更好了,然后用http://localhost:8080/XXXX/agent.jar加载jar包 !好吧 贴出全部代码:求教:
import java.net.URL;
import java.net.URLClassLoader;
public class Transmission {
        //path为传输过来的agent.jar包路径
public String invokeFun(String path){
boolean bo = true;
while (bo) {
try {
//i++;
Thread.sleep(1000);
//找到已经传输过来的agent
//URL url = Transmission.class.getResource("agent.jar");
URL url = new URL(path);
//System.out.println(url);
URLClassLoader loader = new URLClassLoader(new URL[] { url }, Thread.currentThread().getContextClassLoader());
//System.out.println(loader);
//把agent jar包中的类load进来
        Class clazz = loader.loadClass("ImInterf");
        //System.out.println(clazz);
    if (clazz == null) {
    bo = true;
    return "False!";
}else{
//实例化类对象
Object obj = clazz.newInstance();
//声明一个接口对象,以用来调用接口中的方法
interf mai = (interf) obj;
mai.fun("Josh", "Cindy");
bo = false;
//System.out.println("Succed!");
}
} catch (Exception e) {
System.out.println("error");
}
}
return "";
}
//public static void main(String[] arg0){
// Transmission T = new Transmission();
// T.invokeFun("file:/E:/4.jar");
//}
}
interf是在另一个工程中定义的接口,然后导出jar包,再导入到本Transmission 类中;
agent.jar是打包了的实现了interf接口的方法的类;
运行思路:大概就是把Transmission类发布成服务,服务端通过调用这个服务来实现动态加载agent.jar包。
恩 就是这个样子了 还请给出详细解决办法 谢谢!

转载于:https://www.cnblogs.com/hfyuqiang/archive/2013/05/16/3082494.html

你可能感兴趣的文章
java注解【转】
查看>>
Oracle表分区
查看>>
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
类斐波那契数列的奇妙性质
查看>>
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>