从Eclipse 3.2迁移到4.3 - 基于RCP的应用程序

时间:2013-08-21 12:59:16

标签: java eclipse eclipse-rcp

我尝试将我的插件从eclipse 3.2迁移到eclipse 4.3。启动插件时遇到一些重大错误。

我收到此错误消息:

  

激活器projectscheduler_final.Activator for bundle   ProjectScheduler_Final无效

我的OSGi Manifest看起来像这样:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: ProjectScheduler_Final Plug-in
Bundle-SymbolicName: ProjectScheduler_Final; singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: projectscheduler_final.Activator
Bundle-Localization: plugin
Bundle-ClassPath: mysql-connector-java-5.1.18-bin.jar
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 org.eclipse.ui.forms
Eclipse-LazyStart: true

我的pluginxml就像这样

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>

   <extension
         id="application"
         point="org.eclipse.core.runtime.applications">
      <application>
         <run
               class="projectscheduler_final.Application">
         </run>
      </application>
   </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            class="projectscheduler_final.Perspective"
            fixed="false"
            id="ProjectScheduler_Final.perspective"
            name="Perspective">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            name="View"
            class="projectscheduler_final.View"
            id="ProjectScheduler_Final.view">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="projectscheduler_final.ProjectSchedulerEditor"
            default="false"
            id="TestEditor"
            icon="images/folder_table.png"
            name="Test Editor"/>
      <editor
            class="projectscheduler_final.ProjectSchedulerEditorCreateProject"
            default="false"
            icon="images/wand.png"
            id="CreateProject"
            name="Create project editor"/>
      <editor
            class="projectscheduler_final.ProjectSchedulerEditorCreateSubProject"
            default="false"
            icon="images/wand.png"
            id="CreateSubProject"
            name="Create subproject editor"/>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="ProjectScheduler Final.command1"
            name="ProjectScheduler Final.command1"/>
   </extension>

</plugin>

我尝试了一些来自Vogella和co的教程。但没有清除错误。我检查了应用程序的名称等等。一切似乎都已到位。如果有人会有一些提示或指针我应该仔细看看,这将是很好的。

2 个答案:

答案 0 :(得分:2)

首先,您需要将核心依赖项切换到新的目标平台。

转到 plugin.xml - &gt; 依赖关系 - &gt;删除 org.eclipse.ui org.eclipse.core.runtime org.eclipse.ui.forms 然后添加它们再次

其次,请记住从调试配置窗口中包含所有必需的插件。

转到那里,转到插件,取消选择目标平台,单击添加必需的插件,然后单击验证< / b>,然后应用并运行它。

自3.2以来,许多事情都发生了变化,因此如果仍然无效,请手动迁移应用。从头开始并逐班复制。偶尔看看应用程序是否启动。

答案 1 :(得分:0)

我解决了将问题添加到MANIFEST.MF中的Bundle-ClassPath