`
Dollyn
  • 浏览: 168610 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Eclipse插件中如何读取插件项目下的文件

阅读更多

在进行插件开发的时候,有的时候希望把某些配置文件,或者数据文件和插件一起打包,一般这些文件需要被放在插件项目目录下,以便插件发布的时候可以和插件一起打包发布。

 

但是由于插件发布的时候,一般会打成一个Jar包,虽然可以使用JDK的JarFile这个类读取Jar包中的某文件,但是由于开发过程中调试的时候,并没有打包,即此时需要读取的文件并非在Jar包中,所以需要有一种通用的方法,来获取项目文件夹下的某个文件。

 

下面的语句,可以通过Eclipse里的OSGi的Bundle类,获取插件目录下的某个文件的输入流。

 

 

Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
URL url = bundle.getResource("/icon/xx.txt");
InputStream is = FileLocator.toFileURL(url).openStream();

 

bundle是OSGi的概念,一般情况下,代表一个插件。通过bundle获取一个URL,然后通过工具类FileLocator转换,并且打开一个输入流,这样就可以读取文件的内容了。

 

这种方法的好处,是调试时和发布后通用。

 

分享到:
评论
11 楼 enen1982 2013-11-20  
这个写得相当不错,找了好久,省了我一堆事,能不能复制整个目录
10 楼 ququsxc 2011-07-30  
这个一定要顶
9 楼 samwalt 2009-04-21  
Dollyn 写道

samwalt 写道如果把插件项目打包成jar文件的话,打印语句就不起作用了,不会输出打印语句。安装你插件的那个Eclipse,启动的时候,添加-debug参数,会有个控制台窗口,打印语句会输出。


ok,谢了,可以看到打印信息了。是路径错误,不该用反斜杠。
8 楼 samwalt 2009-04-21  
Dollyn 写道

samwalt 写道如果把插件项目打包成jar文件的话,打印语句就不起作用了,不会输出打印语句。安装你插件的那个Eclipse,启动的时候,添加-debug参数,会有个控制台窗口,打印语句会输出。


谢谢,我晚上试试。
7 楼 Dollyn 2009-04-21  
samwalt 写道

如果把插件项目打包成jar文件的话,打印语句就不起作用了,不会输出打印语句。

安装你插件的那个Eclipse,启动的时候,添加-debug参数,会有个控制台窗口,打印语句会输出。
6 楼 samwalt 2009-04-21  
Dollyn 写道

samwalt 写道Dollyn 写道如果是是找不到里面的类,可以参考http://dollyn.iteye.com/blog/359064    你好,不是找不到里面的类。    是这样的:插件项目的功能是要生成一个Web项目,插件项目的路径下有一些jar文件,插件项目本身并不需要用这些jar文件里面的类,而是把jar文件拷贝到生成的web项目的lib目录中。    现在插件项目用run as -> eclipse application的方法,是可以正常运行的,就是说jar文件可以从插件项目中拷贝到生成的Web项目中。但是把插件项目打包成一个jar文件,部署到dropins目录中运行,打包的jar包中的jar文件就不能复制到web项目中了。    不知道我说清楚了没有?可以加条打印语句,或者看日志里有没有记录的异常。有肯能是路径的大小写问题,具体也不好确定。


如果把插件项目打包成jar文件的话,打印语句就不起作用了,不会输出打印语句。
问题出在run as eclipse application时,插件项目是一个文件夹,而打包之后变成
一个文件了。
5 楼 Dollyn 2009-04-21  
samwalt 写道

Dollyn 写道如果是是找不到里面的类,可以参考http://dollyn.iteye.com/blog/359064    你好,不是找不到里面的类。    是这样的:插件项目的功能是要生成一个Web项目,插件项目的路径下有一些jar文件,插件项目本身并不需要用这些jar文件里面的类,而是把jar文件拷贝到生成的web项目的lib目录中。    现在插件项目用run as -> eclipse application的方法,是可以正常运行的,就是说jar文件可以从插件项目中拷贝到生成的Web项目中。但是把插件项目打包成一个jar文件,部署到dropins目录中运行,打包的jar包中的jar文件就不能复制到web项目中了。    不知道我说清楚了没有?

可以加条打印语句,或者看日志里有没有记录的异常。
有肯能是路径的大小写问题,具体也不好确定。
4 楼 samwalt 2009-04-20  
Dollyn 写道

如果是是找不到里面的类,可以参考http://dollyn.iteye.com/blog/359064

    你好,不是找不到里面的类。

    是这样的:插件项目的功能是要生成一个Web项目,插件项目的路径下有一些jar文件,插件项目本身并不需要用这些jar文件里面的类,而是把jar文件拷贝到生成的web项目的lib目录中。

    现在插件项目用run as -> eclipse application的方法,是可以正常运行的,就是说jar文件可以从插件项目中拷贝到生成的Web项目中。但是把插件项目打包成一个jar文件,部署到dropins目录中运行,打包的jar包中的jar文件就不能复制到web项目中了。

    不知道我说清楚了没有?
3 楼 Dollyn 2009-04-20  
如果是是找不到里面的类,可以参考http://dollyn.iteye.com/blog/359064
2 楼 Dollyn 2009-04-20  
是你要自己读取里面的jar文件?不能读取什么意思,有什么错误。
调试还是有可能的,比如添加一些打印信息,然后启动的时候,添加-debug参数;
或者查看下工作区间里的.log文件。
1 楼 samwalt 2009-04-19  
你好,我有一个插件项目,插件项目的根目录下有一个文件夹存放了第三方jar文件。把这个插件项目打包成jar文件形式的插件,并部署这个插件。现在是要读取这个jar文件形式的插件中的第三方jar文件,参考了你上面的java代码,但是仍然不能读取插件项目下的第三方jar文件,又不能调试,能指点一下哪里可能有问题吗?

相关推荐

    提取源文件和class文件的Eclipse插件

    标题中的“提取源文件和class文件的Eclipse插件”是指一种特定的Eclipse开发环境扩展,它的主要功能是方便开发者快速地从Eclipse的工作区中导出项目的源代码(.java文件)和编译后的字节码文件(.class文件)。...

    eclipse插件(查看java、class文件)

    以下将详细介绍如何利用Eclipse插件来查看和分析这两种类型的文件。 1. **查看.java源代码** 当我们导入一个只包含.class文件的库或者JAR时,Eclipse默认无法显示源代码。这时,我们可以使用"Source Lookup"功能...

    eclipse svn插件 官方下载绿色版

    在安装Eclipse插件时,Eclipse会读取这些特性文件来确定需要哪些组件。例如,Subversive的特性文件可能包含与SVN连接、版本控制操作等相关的信息。 "plugins"目录则是实际的插件实现,包含了插件运行所需的Java类和...

    eclipse插件开发实战

    在启动时,插件加载器会读取 `plugin.xml` 文件中的信息,从而构建起整个插件体系。 - **OSGi (Open Services Gateway Initiative)**:作为 Eclipse 插件架构的基础层,OSGi 提供了一种动态模块化环境,使得插件...

    使用links方式安装Eclipse插件

    通常,Eclipse插件的安装文件是`.jar`格式,位于`plugins`目录下,而`features`目录则包含插件的特性描述。你需要解压这些文件到刚才创建的"MyPlugins"目录中。 3. **配置links**:打开Eclipse安装目录下的`eclipse...

    eclipse查看properties插件

    安装这些插件的过程相对简单,可以通过Eclipse的内置软件库(Help > Install New Software)进行搜索和安装,或者下载插件的`.jar`文件,手动添加到Eclipse的插件目录下。 在使用过程中,开发者应该注意以下几点: ...

    eclipse-maven插件

    1. **下载M2Eclipse插件**:首先,你需要从Eclipse Marketplace或官方网站下载对应版本的M2Eclipse插件。如果无法在线下载,可以找到其他途径获取到`.zip`或`.jar`格式的插件文件。 2. **解压插件文件**:将下载的...

    OSGI 实例eclipse插件开发

    8. `org.springframework.osgi.io`:这个模块提供了OSGI环境下的资源读取和加载功能,如读取bundle中的配置文件。 9. `org.springframework.osgi.core`:这是Spring OSGI的核心模块,包含了一些基础的OSGI服务和...

    eclipse查看propertise插件

    1. 在Eclipse的项目资源管理器中,找到包含.properties文件的目录,双击打开文件。 2. 插件会提供一个直观的界面,显示键值对,并可能支持颜色高亮、自动缩进、自动完成等功能。 3. 对于多语言支持,插件通常会有...

    mybatis-generator的eclipse插件

    总之,Mybatis Generator的Eclipse插件是一个强大且实用的工具,它简化了MyBatis项目中的代码生成工作,让开发者可以专注于业务逻辑的实现,而不是重复的基础代码编写。正确安装并使用该插件,能显著提高开发效率,...

    jpbm eclipse插件

    在Eclipse插件开发中,`plugin.xml`是配置文件,它定义了插件的元数据、依赖关系、所提供的服务以及扩展点等。这个文件对于插件的功能注册和Eclipse环境的集成至关重要。 5. **Icons** Icons文件夹很可能包含插件...

    xmlBean eclipse插件

    XMLBean Eclipse插件就是专门为Eclipse设计的一个扩展,它将XMLBean的功能集成到Eclipse中,方便开发者在Eclipse内直接操作XML Schema,自动生成对应的Java类。 使用XMLBean Eclipse插件,开发者可以享受到以下主要...

    Eclipse SVN插件(中文版本及安装教程site-1.0.6)

    在安装过程中,Eclipse会读取这个文件来确定如何正确地安装和启动插件。 "plugins"和"features"目录通常包含插件的实际代码和功能模块。"plugins"目录下的JAR文件是插件的核心,它们提供了所有与SVN交互的功能,如...

    eclipse-properties文件插件

    在Struct2在读取语言包文件language.properties属性文件,如果文件中包含中文,会出现乱码。虽然可以native2ascii进行解决,但是使用起来不方便,为了解决这个问题,可以为Eclipse安装Properties Editor插件解决这个...

    国际化插件--读取 .properties的中文文件

    在读取中文文件时,Eclipse插件会遵循Java的Unicode编码标准,确保中文字符正确显示。由于中文字符在UTF-8编码中通常占用多个字节,因此在处理中文.properties文件时,必须确保文件是以UTF-8编码保存的,否则可能会...

    antlr开发eclipse插件

    在压缩包文件中,你可能会找到一些示例ANTLR语法文件、Eclipse插件安装指南、配置教程以及使用示例。通过学习和实践这些文件,你可以更好地理解如何在Eclipse中配置ANTLR开发环境,使用ANTLR 4 IDE和Xtext来构建和...

    eclipse下properties文件中文乱码的解决方案

    最理想的解决方法是借助于专门设计用于处理Properties文件的Eclipse插件——PropertiesEditor。该插件不仅能够解决中文乱码问题,还能提供更丰富的编辑功能,提升开发效率。用户可以在官方推荐的网站上下载并安装此...

    eclipse中文SVN插件

    在实际使用中,安装这个中文SVN插件的步骤通常包括:首先,下载对应版本的插件文件;然后,在Eclipse中通过“Help” -> “Install New Software”菜单,选择“Add”添加本地的插件安装源;接着,按照向导指引完成...

    JavaCC语法分析器 基于Eclipse插件 能从文件读取源代码输出语法树

    总之,这个项目展示了如何使用JavaCC工具结合Eclipse插件技术,实现从源代码文件读取并输出语法树的功能。这不仅可以应用于学习编译原理,也可以在实际开发中用于增强代码编辑和分析能力,提升开发效率。对于想要...

    maven eclipse 插件,离线版

    这就是Maven Eclipse插件的作用,它将Maven的功能集成到Eclipse中,使开发者能够在IDE内创建、构建和管理Maven项目。 离线版的Maven Eclipse插件包含了所有必需的组件,包括插件和功能特性,这使得开发者在没有网络...

Global site tag (gtag.js) - Google Analytics