Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
异常的eclipse插件问题_Eclipse - Fatal编程技术网

异常的eclipse插件问题

异常的eclipse插件问题,eclipse,Eclipse,我有一个非常不寻常的问题。 我用属性页开发了这个插件。当我以Eclipse应用程序的形式运行插件时,它工作得非常好,但当我导出插件并将其复制到Eclipse/dropin文件夹时,我得到了ClassNotFoundException 我的Manifest.mf如下所示: Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: SpectrumPlugin Bundle-SymbolicName: sinaut.spectrum.p

我有一个非常不寻常的问题。 我用属性页开发了这个插件。当我以Eclipse应用程序的形式运行插件时,它工作得非常好,但当我导出插件并将其复制到Eclipse/dropin文件夹时,我得到了ClassNotFoundException

我的Manifest.mf如下所示:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SpectrumPlugin
Bundle-SymbolicName: sinaut.spectrum.plugin; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: sinaut.spectrum.plugin.activator.SpectrumPluginActivator
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.4.0",
 org.eclipse.ui;bundle-version="3.4.2",
 org.eclipse.core.resources;bundle-version="3.4.2",
 org.eclipse.ui.console;bundle-version="3.3.1"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: JARs/sshfactory.jar,
 .
Import-Package: org.eclipse.ui.console
Export-Package: com.jscape.a,
 sinaut.spectrum.plugin.activator,
 sinaut.spectrum.plugin.ftp,
 sinaut.spectrum.plugin.preferences,
 sinaut.spectrum.plugin.remotebuild,
 sinaut.spectrum.plugin.ssh
<plugin>

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
        id="BildPreferencePage"
            name="Bild Preferences"
            class="sinaut.spectrum.plugin.preferences.BildPreferencePage"

            >
      </page>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="sinaut.spectrum.plugin.preferences.PreferenceInitializer">
      </initializer>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            id="sinaut.spectrum.plugin.RemoteBildActionSet"
            label="RemoteBildActionSet"
            visible="true">
         <menu
               id="sinaut.spectrum.plugin.RemoteBuildMenu"
               label="Remote Build Menu">
            <groupMarker
                  name="content">
            </groupMarker>
            <separator
                  name="additions">
            </separator>
         </menu>
         <action
               class="sinaut.spectrum.plugin.remotebuild.RemoteBuild"
               icon="/icons/rb.gif"
               id="sinaut.spectrum.plugin.RemoteBuild"
               label="Remote Build"
               state="true"
               style="push"
               toolbarPath="Normal/additions">
         </action>
      </actionSet>
   </extension>

</plugin>
plugin.xml如下所示:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SpectrumPlugin
Bundle-SymbolicName: sinaut.spectrum.plugin; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: sinaut.spectrum.plugin.activator.SpectrumPluginActivator
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.4.0",
 org.eclipse.ui;bundle-version="3.4.2",
 org.eclipse.core.resources;bundle-version="3.4.2",
 org.eclipse.ui.console;bundle-version="3.3.1"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: JARs/sshfactory.jar,
 .
Import-Package: org.eclipse.ui.console
Export-Package: com.jscape.a,
 sinaut.spectrum.plugin.activator,
 sinaut.spectrum.plugin.ftp,
 sinaut.spectrum.plugin.preferences,
 sinaut.spectrum.plugin.remotebuild,
 sinaut.spectrum.plugin.ssh
<plugin>

   <extension
         point="org.eclipse.ui.preferencePages">
      <page
        id="BildPreferencePage"
            name="Bild Preferences"
            class="sinaut.spectrum.plugin.preferences.BildPreferencePage"

            >
      </page>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="sinaut.spectrum.plugin.preferences.PreferenceInitializer">
      </initializer>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            id="sinaut.spectrum.plugin.RemoteBildActionSet"
            label="RemoteBildActionSet"
            visible="true">
         <menu
               id="sinaut.spectrum.plugin.RemoteBuildMenu"
               label="Remote Build Menu">
            <groupMarker
                  name="content">
            </groupMarker>
            <separator
                  name="additions">
            </separator>
         </menu>
         <action
               class="sinaut.spectrum.plugin.remotebuild.RemoteBuild"
               icon="/icons/rb.gif"
               id="sinaut.spectrum.plugin.RemoteBuild"
               label="Remote Build"
               state="true"
               style="push"
               toolbarPath="Normal/additions">
         </action>
      </actionSet>
   </extension>

</plugin>
这一定是件蠢事,但我就是看不见。
如果有人能帮我的话。我已经在这个问题上纠缠了好几个小时。

用下面的参数启动eclipse

 -console
然后在OSGi控制台中找到您的插件id,如

ss sinaut.spectrum.plugin
最后使用diag查看插件无法解析的原因

diag <id found by ss command>
diag
试着启动它,看看它的激活器是否有问题

start <id>
开始

当我执行ss sinaut.spectrum.plugin命令时,我得到以下消息:框架启动。id State Bundle没有id:/看起来你的插件不是由OSGi安装的,试试eclipse.exe-clean或者在OSGi的控制台中手动安装你的插件怎么样。是的,激活器有点问题…只是不知道是什么。我已经手动安装了插件,当我启动它时,我得到BundleException:用于bundle sinautt.spectrum.plugin的激活器…SpectrumPluginActivator无效。。。我检查了build.properties文件和类本身,一切似乎都很好。非常感谢。可能导致activator无效的一个因素是无法通过jvm解析导入某些activator类来初始化activator故障。我不确定是否理解您的意思。我已经检查了MANIFEST.MF,如果这是您的意思,那么activator是正确声明的。