思路就是通过bundleContext来取得资源。
首先,要在对应的插件中先建立一个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;
}
注意这里的路径,是从直接写工程文件夹下开始写。
分享到:
相关推荐
8. `org.springframework.osgi.io`:这个模块提供了OSGI环境下的资源读取和加载功能,如读取bundle中的配置文件。 9. `org.springframework.osgi.core`:这是Spring OSGI的核心模块,包含了一些基础的OSGI服务和...
- 构建bundle:使用构建工具如Maven或Gradle,配置相应的Osgi插件来生成bundle JAR文件。 4. **Eclipse中的Osgi实现** 描述中提到的"简单用代码解释了过程"可能指的是通过Eclipse插件开发的过程。在Eclipse中,...
通常,Eclipse插件的开发会包括一个或多个插件项目,每个项目包含plugin.xml定义插件元数据,以及src目录下的源代码和资源文件。安装包可能是一个.zip或.jar文件,用户可以通过Eclipse的“Install New Software”...
3. **资源清理**:卸载过程中,Jira会释放插件占用的所有资源,包括数据库记录、文件系统中的文件等。 4. **物理删除**:最后,Jira会从插件目录中删除插件的文件和目录,完成卸载过程。 四、Spider插件示例 ...
在启动时,插件加载器会读取 `plugin.xml` 文件中的信息,从而构建起整个插件体系。 - **OSGi (Open Services Gateway Initiative)**:作为 Eclipse 插件架构的基础层,OSGi 提供了一种动态模块化环境,使得插件...
启动后,框架会读取所有插件的清单文件,识别其依赖关系,并准备它们的加载顺序。 第三步,获取插件上下文。插件上下文是每个插件与框架交互的主要接口,它提供了注册服务、查找服务、获取配置和其他插件相关操作的...
- `content.jar`和`artifacts.jar`包含插件的元数据和实际内容,这些文件在安装过程中被Eclipse读取。 - `content.xml.xz`和`artifacts.xml.xz`是压缩的XML文件,存储了插件的详细信息,如版本、依赖、描述等。 - `...
这个插件对于开发者来说非常有用,特别是在项目中需要频繁更新或引入新的库文件时,它可以自动帮助下载所需的jar包,节省手动操作的时间。 插件的核心功能是自动化处理Java项目的依赖管理。在传统的开发流程中,...
3. **数据加载(Loading)**:处理后的数据可以被加载到新的数据仓库、数据库或者文件系统中。Kettle支持批量和增量加载,确保高效且低影响地将数据导入目标系统。 4. **工作流(Job)和转换(Transformation)**:...
在Eclipse插件开发中,这样的包结构通常包含插件的源代码、资源文件、元数据等。 6. **使用流程**: 开发者首先需要将这个插件安装到Eclipse中,然后在Eclipse的插件界面找到并启用它。接着,配置数据库连接,选择...
标题中的“tree 通过插件加载图片”指的是在软件开发中,如何利用特定的插件或者功能,在树形结构(Tree)中加载和显示图片。树形结构是一种常见的数据展示方式,尤其在文件管理器、数据库浏览器或者GUI应用程序中,...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
4. **content.xml.xz**和**artifacts.xml.xz**:这些是经过xz压缩的版本,用于减小文件大小,节省存储空间,同时不影响文件内容的读取。xz是一种高压缩比的数据压缩格式,适用于大文件的存储和传输。 5. **plugins*...
Eclipse的插件体系基于OSGi模块化系统,每个插件都是一个独立的JAR文件或目录,包含了实现特定功能的Java代码和资源。在这个目录下,你会找到Eclipse Vi Plugin的核心代码和资源。 在使用Eclipse Vi Plugin时,你...
- **启动流程**: 当系统运行后,会先读取MANIFEST.MF文件中的`Bundle-Activator`属性来确定启动类。 - **示例**: `MyRCPPlugin`作为启动类,它实现了必要的接口,并在`plugin.xml`中进行了配置。 通过上述详细介绍...
- 设计引擎读取`.rptdesign`文件,将报表设计转换为执行时的数据结构。 - 报告引擎使用这些数据结构来渲染报表,并支持多种输出格式,如PDF、HTML、Excel等。 2. **API概述** - **OSGi启动和引擎创建**:使用...
- 为了从Excel文件中读取数据,程序可能使用了Apache POI库,这是一个Java API,可以处理Microsoft Office格式的文件。 - POI提供了HSSF(Horrible Spreadsheet Format)API来处理.xls格式,XSSF(XML Spreadsheet...
通常,完整的源码包会包含多个文件夹和文件,如项目的源代码文件(.java)、资源文件(如音频、视频、图片)、配置文件(如XML或.properties)、构建脚本(如Ant或Maven的pom.xml)以及可能的测试代码和文档。...
`features`可能包含描述如何安装和配置Apache POI的特性文件,而`plugins`可能包含实际的插件实现,使得Apache POI能在特定环境中运行。 Apache POI的工作原理涉及解析Office文档的二进制格式,如Excel的BIFF...
2. **查找并修改工作空间路径**:在文件中找到大约第6行的内容,其格式类似于`osgi.instance.area.default=@user.home/Workspaces/MyEclipse 8.5`。这一行指定了MyEclipse的默认工作空间路径。 3. **更改路径**:...