博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java手动加载jar
阅读量:5102 次
发布时间:2019-06-13

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

@RequestMapping("/testJar")    public @ResponseBody String exteriorJar(int ys, int csd,int jg,int sf,int yf,int sd){        String result = "error";        //从数据库中读取算法类        String sql = "select EXTERIOR from T_EXTERIOR where id=2";        InputStream ins = null;        try{            Connection con = jdbcTemplate.getDataSource().getConnection();            Statement ps = con.createStatement();            ResultSet rs = ps.executeQuery(sql);            while(rs.next()){                Blob blob = rs.getBlob("EXTERIOR");                ins = blob.getBinaryStream();            }            File file = new File("test.jar");            OutputStream os = new FileOutputStream(file);            byte[] bt = new byte[1024];            int size = 0;            while((size=ins.read(bt))!=-1){                os.write(bt,0,size);            }            os.flush();            os.close();            ins.close();                        URLClassLoader loader = new URLClassLoader(new URL[]{
new URL("file:"+file.getAbsolutePath())}); Class cs = loader.loadClass("com.tf.userApp.bean.Exterior"); Object obj = cs.newInstance(); Method[] methods = obj.getClass().getMethods(); for(Method method : methods){ if(method.getName().equals("add")){ Class[] css = method.getParameterTypes(); Object[] params = new Object[css.length]; params[0] = ys; params[1] = csd; params[2] = jg; params[3] = sf; params[4] = yf; params[5] = sd; /** int index = 0; for(Class cs : css){ if(String.class == cs){ params[index++] = "String val is :" + index; } }*/ Object rt = method.invoke(obj, params); if(rt.getClass() == Integer.class){ result = String.valueOf((Integer)rt); }else if(rt.getClass()==String.class){ result = (String)rt; } } } }catch (Exception e) { e.printStackTrace(); } return result; }

 

转载于:https://www.cnblogs.com/yangzhilong/p/4252637.html

你可能感兴趣的文章
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
面向对象的小demo
查看>>
微服务之初了解(一)
查看>>
GDOI DAY1游记
查看>>