永发信息网

OSGI如何读取插件中的资源文件

答案:1  悬赏:40  手机版
解决时间 2021-03-24 09:59
OSGI如何读取插件中的资源文件
最佳答案
首先,要在 对应 的插 件中 先建 立一 个 Activator 需 要实 现 BundleActivator 接口, 代码: import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; public class Activator implements BundleActivator { private static BundleContext bundleContext; public static BundleContext getBundleContext() { return bundleContext; } public void start(BundleContext context) throws Exception { Activator.bundleContext = context; } public void stop(BundleContext context) throws Exception { } } 然后再需要查找资源的地方,取得bundleContext,通过bundleContext 的getResource 方法取得URL 类型的resource,代码: public static InputStream getResourceByContext(String path) { try { BundleContext bundleContext = Activator.getBundleContext(); URL resource = bundleContext.getBundle().getResource("/web" + path); InputStream in = resource.openStream(); if (in == null) { String msg = "\nNot found \"" + path + "\";"; log.error(msg); } return in; } catch (IOException e) { e.printStackTrace(); } finally { } return null; } 注意这里的路径,是从直接写工程文件夹下开始写。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
移动手机登陆wifi时,忘记固态密码了怎么办?
把质量是5千克的水从15℃加热到85℃,水吸收
有部小说 它的主角叫张小凡 你们猜这部小说叫
让人心酸想哭的一句话,怎样用一句话回复嘴贱
肚子偏跟脑梗有关系吗
买卖纸黄金、纸白银的时候,买价和卖价存在一
山阳县民乐家电维修中心怎么去啊,有知道地址
今天晚上我做了个梦,梦见剪刀把我的手给刺伤
养牛吃什么,圈养牛吃什么料长得快长得脂肪少
为什么BT下载时,同一个任务但某个快某个慢
小狗遇到了什么困难?它把电话打给谁?又会说些
翻译成日语: 虽然知道你不喜欢吃甜的东西,但
艾青歌颂母爱的诗歌,lol里大发明家说的话是什
雪佛兰创酷自动档有离合器吗
快马加鞭,君为先,自古英雄出少年是谁的话
推荐资讯
—So you missed the meeting. —. I got th
为什么汽车烧油才能跑而烧水不行啊
杭州小初高培训机构真多
自考和成考哪个好,到底是自考好还是成考好呢
单选题The problem in today's&nb
非主流的话经典语句,经典的非主流的句子
(双选).在密闭容器中进行反应X2(g)+Y2(
关于讲规矩的名言,有关遵守纪律的名言警句
这块玉、是哪个年代的、什么玉、请大家看看、
恒达医疗(东北门)地址在什么地方,想过去办事
感觉思铭和第八代思域就是一个样子啊,这两款
下列说法正确的是A.氯化钠钠晶体不导电是没有
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?