Как Eclipse проверяет доступный плагин в какой-то среде? - PullRequest
0 голосов
/ 27 марта 2012

Я создал несколько плагинов и сайт обновлений Eclipse на Indigo (Eclipse v3.7).

Я могу отлаживать свой плагин с новым экземпляром Eclipse, но не могу установить свой плагин через сайт обновлений.

Когда я пытаюсь протестировать установку моего плагина с помощью Indigo (в той же среде, что и среда разработки), мастер установки сообщает:

Cannot complete the install because some dependencies are not satisfiable
com.mytest.helloworld.feature.group [1.0.0.201203071543] cannot be installed in this environment because its filter is not applicable.

(Я пытался установить свой плагин с той же версией eclipse -Индиго. И, мой плагин работает нормально после ручной установки.)

Есть ли контрольная точка, чтобы решить эту проблему?

Как затмение проверить доступный плагин?(на основании какой информации?)

Вот мои особенности.xml.

<?xml version="1.0" encoding="UTF-8"?>
<feature
  id="com.mytest.helloworld"
  label="mytest Feature"
  version="1.0.0.qualifier"
  provider-name="mytest.com"
  plugin="com.mytest.helloworld"
  os="aix,hpux,linux,macosx,qnx,solaris,win32"
  ws="carbon,cocoa,gtk,motif,photon,win32,wpf"
  nl="en,ko"
  arch="ia64,ia64_32,PA_RISC,ppc,sparc,x86,x86_64">
   <description url="http://www.example.com/description">
      [Enter Feature Description here.]
   </description>

   <copyright url="http://www.example.com/copyright">
      [Enter Copyright Description here.]
   </copyright>

   <license url="http://www.example.com/license">
      [Enter License Description here.]
   </license>

   <url>
      <update label="mytest update" url="http://localhost:8088/plugin"/>
   </url>

   <requires>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.core.expressions" version="3.4.101"     match="greaterOrEqual"/>
      <import plugin="com.android.ide.eclipse.adt" version="0.9.5" match="greaterOrEqual"/>
      <import plugin="org.jdom" version="1.1.1" match="greaterOrEqual"/>
      <import plugin="org.apache.commons.httpclient" version="3.1.0" match="greaterOrEqual"/>
      <import plugin="org.eclipse.jdt.core" version="3.5.2" match="greaterOrEqual"/>
      <import plugin="org.eclipse.core.resources" version="3.5.2"     match="greaterOrEqual"/>
   </requires>

   <plugin
         id="com.mytest.helloworld"
         os="aix,hpux,linux,macosx,qnx,solaris,win32"
         ws="carbon,cocoa,gtk,motif,photon,win32,wpf"
         nl="en,ko"
         arch="ia64,ia64_32,PA_RISC,ppc,sparc,x86,x86_64"
         download-size="1000"
         install-size="1000"
         version="0.0.0"
         unpack="false"/>

   <plugin
         id="com.mytest.helloworld.nl1"
         os="aix,hpux,linux,macosx,qnx,solaris,win32"
         ws="carbon,cocoa,gtk,motif,photon,win32,wpf"
         nl="en,ko"
         arch="ia64,ia64_32,PA_RISC,ppc,sparc,x86,x86_64"
         download-size="1"
         install-size="1"
         version="0.0.0"
         fragment="true"
         unpack="false"/>
</feature>

1 Ответ

0 голосов
/ 27 марта 2012
  1. Удалось ли вам запустить плагин в новом экземпляре Eclipse из вашей среды разработки?Т.е. нажмите кнопку запуска и запустите новое приложение Eclipse с активным плагином.

  2. Похоже, что существует проблема с фильтрами: либо вы определили требование к версии, которое не работает, либо, возможно, определили ОС, которая не работает.Может помочь публикация вашего файла feature.xml.

Редактирование на основе комментария:

Попробуйте удалить из XML части, специфичные для ОС, то есть свойства "os", "ws "," arch "и, возможно," nl ".

Вы получите

<feature
  id="com.mytest.helloworld"
  label="mytest Feature"
  version="1.0.0.qualifier"
  provider-name="mytest.com"
  plugin="com.mytest.helloworld">

Вам нужно вводить эти свойства только в том случае, если вы каким-либо образом ограничиваете выбор, то есть ваш плагин содержит специфичный для ОС код, который будет работать только на некоторыхоперационные системы / архитектуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...