zoukankan      html  css  js  c++  java
  • 关于Eclipse RCP的两个小问题和解决方法

    1、如果你想在RCP应用程序里使用Eclipse提供的Resource Navigator(它是IDE plugin的一部分),要在WorkbenchAdvisor里加入如下代码,否则在Navigator里新建的项目和文件名都会变为空:

    WorkbenchAdapterBuilder.registerAdapters();

    一 般加在preWindowOpen()方法里就可以了,否则可能需要手动refresh才能看到已有的项目。当然,你还要在plugin dependencies里加上org.eclipse.ui.ide和org.eclipse.ui.views,所以你的RCP程序会变得更大,这就 是代价,目前这个ResourceNavigator不被鼓励用在RCP程序里,以后版本的Eclipse可能会提供更合适的插件。

    2、若你在运行RCP Application时遇到以下异常:

    java.lang.NoSuchMethodException: com.your.YourPlugin.<init>(org.eclipse.core.runtime.IPluginDescriptor)
        at java.lang.Class.getConstructor0(Unknown Source)
        at java.lang.Class.getConstructor(Unknown Source)
        at org.eclipse.core.internal.plugins.PluginDescriptor.internalDoPluginActivation(PluginDescriptor.java:
    403)
        at org.eclipse.core.internal.plugins.PluginDescriptor.doPluginActivation(PluginDescriptor.java:
    359)

    或是:

    org.eclipse.core.runtime.CoreException[1]: java.lang.ClassNotFoundException: com.your.YourApplication
        at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:
    404)
        at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass(AbstractClassLoader.java:
    93)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:
    307)

    可以检查一下你是否在plugin dependencies里增加了org.eclipse.core.runtime.compatibility,我不太清楚这个plugin是做什么用的,但只要有它在我的RCP Application就无法启动。
    最后,如果希望在Eclipse的console里显示log而不是直接写入到文件中,可以在运行时加上-consoleLog参数。

  • 相关阅读:
    马尔科夫模型
    统计自然语言处理(第2版)目录
    linux运维学习笔记随想
    Redis 入门:(1)Linux下使用
    TextRank算法原理及应用示例
    实验十 团队作业6:团队项目用户验收&Beta冲刺
    关于tensorflow
    实验九 团队作业6:团队项目编码&Alpha冲刺
    实验八 团队作业4—团队项目需求建模与系统设计
    实验七 团队作业3:团队项目需求分析与原型设计
  • 原文地址:https://www.cnblogs.com/bjzhanghao/p/119607.html
Copyright © 2011-2022 走看看