`
deepnighttwo
  • 浏览: 52148 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Eclipse类加载机制带来的问题

 
阅读更多

除了核心类外,eclipse的功能都是由插件提供的。插件之间经常会互相扩展,这些插件之间难免要使用到彼此的类。Eclipse给每一个插件都分配的一个classloader来负责加载其中的类。所以默认情况下,Eclipse的不同插件中的类是彼此不可见的。

在两种情况下Eclipse插件可能用到其它插件的类。一是直接添加plug-in dependence,然后在程序中直接使用。然后是把extension point elemen t的值作为类名,加载一个类。两者在runtime都会找到class所在的plugin的classloader, 然后加载这个类,返回。

容易引发的问题:

类版本冲突。在一个插件中,通过不同途径加载了同名的类,当混淆使用的时候,就会出错。最好是用接口,而且这个接口类必须来自同一个地方。

类Export。一个plug-in可以配置自己在runtime需要export哪些类。如果不配置好这些类,可能会导致编的过跑不起来。导致某些类加载失败,或者导致某些类从一个不希望的plug-in加载进来。

分享到:
评论

相关推荐

    JAVA热加载eclipse插件

    其中,JRebel是最知名且广泛使用的,它通过动态代码生成和类加载机制实现热部署。Spring Loaded则专为Spring框架设计,对Spring应用的热加载优化尤为出色。DCEVM(Dynamic Class File Manipulation)是另一种可选...

    eclipse_4.5_64位.zip

    它优化了插件加载机制,减少了启动时间和资源消耗,这对于日常开发工作流程尤其有帮助。此外,Eclipse Mars还改进了工作区管理,允许用户更灵活地管理多个工作区,以满足不同的项目需求。 在版本控制方面,Eclipse ...

    Google Plugin for Eclipse 4.3

    - **artifacts.jar**:此文件包含了插件的实际实现,即Java类和其他运行时所需的资源,它们被Eclipse加载以实现插件的功能。 - **site.xml**:这是插件的站点描述文件,它定义了插件的版本、依赖关系以及如何通过...

    eclipse 汉化

    在汉化过程中,"links"文件可能包含指向汉化插件安装目录的路径,使得Eclipse在启动时能够识别并加载汉化资源。 接下来是"language"文件。这通常是指Eclipse的语言包,它是实现汉化的核心部分。Eclipse语言包包含了...

    org.eclipse.osgi_3.7.0.v20110613及源码

    每个bundle都有自己的类加载器,确保了类的隔离性,解决了Java的类加载问题。同时,OSGi提供了服务注册和发现机制,使得模块之间可以动态地互相依赖和交互。 二、org.eclipse.osgi org.eclipse.osgi是Eclipse项目中...

    Eclipse4.x插件开发实践

    Eclipse的插件系统基于OSGi框架,这意味着每个插件都是一个独立的模块,有自己的类加载器,这增加了灵活性但也带来了复杂性。 为了更好地理解和开发Eclipse插件,你需要熟悉Eclipse的生命周期、扩展点机制、SWT/...

    eclipse飞机大战.zip

    它利用Eclipse的强大功能,让程序员在编码之余也能体验到游戏带来的乐趣。这款小游戏不仅展示了Java编程的实用性,也体现了Eclipse平台的可扩展性。 首先,我们来了解Eclipse IDE。Eclipse是一个开源的、跨平台的...

    Eclipse3.5.2中文包+J2ME插件

    "plugins"目录则是Eclipse插件的实际实现,包含了各种.jar文件,这些文件被Eclipse加载后提供特定的功能。在本例中,"plugins"目录下的文件应该是Eclipse3.5.2中文包和J2ME插件的实现。 总结来说,这个压缩包提供了...

    exoplayer 的eclipse版本

    在Eclipse中使用ExoPlayer可能需要更多的手动配置,但一旦设置完成,你就能享受到其带来的灵活性和高性能。记住,对于任何问题,查阅官方文档、Stack Overflow等社区资源通常能找到解决方案。不断学习和理解...

    Eclipse3.6(6-1)

    `eclipse.ini`是Eclipse的启动配置文件,它允许用户自定义Eclipse的启动参数,例如指定JVM的路径、内存分配、启动时加载的插件等,这对于优化Eclipse的性能和满足特定需求非常关键。`README.txt`通常包含了关于软件...

    Eclipse3.0采用的OSGi技术

    - **解决方案:** 通过利用 OSGi 的高效模块加载机制,Eclipse 3.0 实现了显著的性能提升。 - **优势:** 用户可以获得更流畅的操作体验,同时平台本身也能更好地应对复杂的应用场景。 #### OSGi 技术的具体实现 ...

    运行eclipse提示JVM错误的解决

    这类问题通常表现为启动Eclipse时出现错误提示,例如“jvm terminated. Exit code=-1”。本文将详细介绍这一问题的原因以及具体的解决方法。 #### 一、问题背景 在尝试运行Eclipse时,用户可能会遇到如下的错误...

    Tomcat7.0源码,可直接导入eclipse

    源码阅读可以帮助我们理解其内部机制,如请求解析、连接管理、线程池、类加载器等核心功能的实现。 "可直接导入eclipse"这一特点意味着开发者无需额外的配置步骤,只需简单操作即可在Eclipse这样的集成开发环境中...

    教你彻底汉化Eclipse的各个版本

    - 等待Eclipse加载可用的软件列表,找到包含“Chinese (Simplified)”或“简体中文”的项,勾选并继续安装过程。 - 遵循安装向导的步骤,接受协议,然后完成安装。重启Eclipse以应用更改。 3. **设置语言**: - ...

    Eclipse 启动运行速度调优

    1. **-Xverify:none**:关闭Java字节码验证,加速类加载过程,减少启动时间。 2. **-Xms24m**:设定JVM初始堆大小为24MB,避免在启动时动态调整堆大小带来的额外开销。 3. **-Xmx96m**:限制JVM最大堆大小为96MB,...

    Eclipse Plug-ins Third Edition.rar

    《Eclipse插件开发第三版》是一本深入探讨Eclipse平台扩展开发的专著,针对...通过本书的学习,你将能够熟练掌握Eclipse插件的开发技巧,从而充分利用Eclipse的强大功能,为你的开发工作带来更高的效率和灵活性。

    axis2-eclipse-service-plugin-1.7.4.zip

    在安装插件时,这些JAR文件会被解压到Eclipse的安装目录下的相应位置,以便Eclipse能识别并加载它们。 总结起来,"axis2-eclipse-service-plugin-1.7.4.zip"是一个帮助Eclipse开发者利用Apache Axis2构建和管理Web...

    eclipse_增量插件.rar

    有些插件可能需要通过Eclipse的"Install New Software"功能进行在线安装,或者通过"Dropins"目录来加载。 Eclipse插件机制是其可扩展性的一个关键特性,允许开发者根据需求添加各种工具和功能。这个增量插件就是...

    eclipse_oxygen_jb51.rar

    8. `dropins` 目录是Eclipse用来自动检测和加载额外插件或功能的地方,用户可以将新的插件放到此目录下,Eclipse启动时会自动识别并加载它们。 综上所述,这个压缩包提供了完整的Eclipse Oxygen 4.7安装,包括了...

    Eclipse开发插件Visual Editor 1.5.(VE)及安装说明

    为了增强其功能,Eclipse提供了一种称为"插件"的机制,使得开发者可以根据自己的需求扩展其功能。在众多的Eclipse插件中,"Visual Editor"(简称VE)是一个专门用于图形化界面开发的强大工具,特别适合于创建和设计...

Global site tag (gtag.js) - Google Analytics