我试着根据一些例子实现我自己的类加载器.但是,我认为它没有按预期工作(无法重新加载Jar文件等.我看到很少引用推荐使用OSGI或Apache Felix来处理Jar文件加载.是否有任何加载Jar的例子,从Jar实例化一个类?

关于我想要完成什么的更多细节.我有一个基本上连续运行的Java命令行应用程序.我希望它能够在运行时动态引用JAR文件,并在运行时实例中引用这些jar中的类.这些罐子可能包含一个或多个支持类.这些罐子本质上是定制的工作单元,由连续运行的主应用程序中的某些事件条件执行. ..由于这是一个多客户端,我想让jar是一个可插入类型的工作单元.

我目前的方向是为客户提供一个代码接口,然后让他们将他们的类打包到一个jar文件中.然后,应用程序将执行配置的(数据库)jar路径并从Jar运行类.这适用于加载jar和类,但是,我希望能够基本上热部署这些jar.

总之,我想有一个包含支持函数的类的JAR文件.一个定义的类,将在运行时从Jar(来自主循环应用程序)引用.在主应用程序运行时更改JAR文件的能力.

如果我要使用第三方库,我最好使用Apache Felix.

谢谢

我想我用Apache Felix 4来解决它.这是加载jar /类的最佳方法吗?或者是否有更好的更有效的方式.到目前为止,我的研究并没有指出一个解决方案.谢谢.

FrameworkFactory ff = new FrameworkFactory ();

Map config = new HashMap();

config.put("org.osgi.framework.storage", "c:\\temp\\myclientBundles");

config.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,

"packages needed,more packages needed");

config.put(Constants.FRAMEWORK_STORAGE_CLEAN, "true");

Framework fwk = ff.newFramework(config);

fwk.start();

BundleContext bc = fwk.getBundleContext();

Bundle bundle = bc.installBundle("file:C:\\my_client.jar");

bundle.start();

bundle.update();

Class clazz = bundle.loadClass("client.work.process");

Job pc = (Job) clazz.newInstance();

pc.startWork(someConfigObject);

bundle.stop();

fwk.stop();

java 调用felix_寻找在动态加载Jar文件中使用Apache Felix并在Java中在运行时实例化类的基本示例...相关推荐

  1. java动态加载jar文件并执行方法

    在项目开发的过程中,有时候需要动态灵活的加载某个jar包并执行里面的方法的时候,我们可以使用本篇文章写得方式去动态的加载jar包而不用使用原始方式引入jar包作为lib去使用,接下来介绍如何动态加载j ...

  2. [转]动态加载jar文件

    本文转自:http://zhongzhao-2008.iteye.com/blog/201487 初学Java时教科书告诉我们,若要运行Java程序,必需为其设置环境变量.有时候为了实现某种功能(例如 ...

  3. Java动态加载jar及class文件

    经常碰到需要动态加载jar及class文件的场景.Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,但JDK仍提供了一整套方法来动态加载jar文件和class文件. 一.动态加载ja ...

  4. unity动态加载.obj文件相关

    .obj文件加载相关 QA: 要点 .obj文件结构 .mtl文件结构 材质匹配问题 动态加载obj文件 unity资源商城插件:Runtime Obj Importer QA: q: 如何动态加载o ...

  5. java动态加载jar时,jar中还有第三方jar无法加载的解决方法

    java动态加载jar时,jar中还有第三方jar无法加载的解决方法 当java插件化开发时,即一个java程序在运行的情况下动态加载另一个jar,网上大多数的方法如下 public static v ...

  6. java加载js_[Java教程]javascript如何动态加载js文件

    [Java教程]javascript如何动态加载js文件 0 2016-01-01 00:00:52 javascript如何动态加载js文件: 有时候我们需要根据需要动态加载js文件,本章节就简单介 ...

  7. java不重启服务动态加载properties文件

    动态加载properties文件内容,不需要重启服务! 1 .Maven 工程,在resource下新建一个properties文件 target/classes/config.properties ...

  8. android动态jar,Android动态加载Jar(包含第三方依赖Jar)

    最近项目有一个需求,需要根据用户需求动态加载APP内某功能模块,且当该部分功能模块代码有变动,只需更新该功能JAR,无需更新整个APK,基于这个需求,决定采用动态加载Jar的方式去实现,于是各种查资料 ...

  9. [转]Android动态加载jar/dex

    本文转自:http://www.cnblogs.com/over140/archive/2011/11/23/2259367.html 前言 在目前的软硬件环境下,Native App与Web App ...

  10. flink sql udf jar包_Java动态加载Jar实例解析

    导读:在实际项目开发中,有时会遇到需动态加载jar包的应用场景.如将Flink的UDF自定义方法制作成方法库(既打成一个Jar),在提交给Flink集群的Job中动态加载jar便可使用.下面将举一个简 ...

最新文章

  1. 计算机巨星陨落!图灵奖得主 Edmund Clarke 因感染“新冠”逝世
  2. 怎么在python下载网站内容-分析某网站,并利用python自动登陆该网站,下载网站内容...
  3. 图解weblogic安装
  4. CST光源控制卡简单操作C#程序
  5. Infinispan版本已映射到最低Java版本
  6. android手机微信收藏功能实现,Android模仿微信收藏文件的标签处理功能
  7. win7 远程桌面 复制粘贴
  8. php+mysql个人博客系统_推荐几个开源的个人独立博客系统
  9. vs2017中配置openGL环境
  10. 零基础学习SQL Server(一)——启动服务,注册SQL Server服务器
  11. 人人网首页登录页面html码,仿人人网WordPress登陆注册界面
  12. python断言使用方法
  13. java中相对路径_java相对路径设置 | 学步园
  14. 网络工程师考试知识点
  15. python提升算法3_XGBOOST_docs_Scikit-LearnAPI_XGBClassifier_train参数01
  16. 第三章IP网际协议层
  17. i春秋百度杯CTF比赛2016年12月场writeup
  18. 打印的资料怎么装订成册?
  19. 使用python多线程下载网络小说并结合calibre制作电子书
  20. 2020.5.9测试 T3 数星星

热门文章

  1. 买的鱼丸怎么做好吃 鱼丸的家常做法介绍
  2. 数组取出使用某一个entiti
  3. 线性拟合——离群点outliers的处理
  4. 大数据教程:数据可视化(ECharts)
  5. 动态规划 计算二项式系数
  6. 什么是SDK? {转载}
  7. Android SDK是什么?
  8. 在c语言的switch 语句中,的case后面的表达式,switch语句中case后面的值必须是什么?...
  9. python的selenium的带https安全隐私问题解决方案
  10. cout 和printf的区别,输出不同