Как установить проект "Туманность" в Eclipse

Я пытаюсь установить программное обеспечение Nebula от Eclipse. Кажется, я скучаю, может быть, маленький, но очень актуальный момент.
Моя главная цель - протестировать и работать с "Виджетом осциллографа туманности".
Я сделал так, как мне сказали:
https://www.eclipse.org/nebula/downloads.php
и использовал:
Релизы - релиз 1.4.0 И там:
Загрузки - Обновление сайта: http://download.eclipse.org/nebula/releases/1.4.0
Мне удалось получить это в установке Eclipse и получил несколько каталогов и файлов в.p2, как

  • \ Org.eclipse.equinox.p2.core \
  • \ Бассейн \ функции \org.eclipse.nebula.widgets.oscilloscope.feature_1.4.0.201711021145\

И там
каталог META-INF
файлы epl-v10.html
feature.properties
feature.xml
license.html

Я не вижу, как это могло бы помочь. К сожалению, Eclipse также не видит этого.
Операторы импорта Java, такие как
import org.eclipse.nebula.widgets.oscilloscope.multichannel.OscilloscopeDispatcher;
import org.eclipse.swt.SWT;
все еще не решены.

Следующая попытка: на странице есть zip-файл с названием
"Обновление сайта репо в архиве: repository.zip"
http://download.eclipse.org/nebula/releases/1.4.0/repository-nebula-1.4.0.zip
Загружается, в нем много jar-файлов, но где его разместить?

Следующая попытка, конечно, есть ссылка git:
https://github.com/eclipse/nebula
где можно получить "nebula-master.zip"

Я импортировал его как "из архива". В результате я наконец получил проект
"org.eclipse.swt.nebula", содержащий несколько подпапок. Мой любовный интерес, осциллограф в
Проект "org.eclipse.swt.nebula"
... виджеты папок,
... папка осциллоскопе,
... Папка org.eclipse.nebula.widgets.oscilloscope.snippets
... папка src
... папка орг
... папка затмения
... Папка туманность
... виджеты папок
... Папка-осциллограф
... Отрывки папок.
Я не думаю, что структура предназначена. Пытаясь запустить демо, я получаю такие ошибки, как
"Запустить конфигурацию GridAllTests ссылается на несуществующий проект org.eclipse.nebula.widgets.grid.test." Что правильно.

"Org.eclipse.nebula.widgets.grid.test" является частью
сетка папок,
папок виджетов,
проекта org.eclipse.swt.nebula

Что-то пошло не так, вероятно, во время импорта. Как сделать это правильно?

Спасибо!

1 ответ

Если вы хотите использовать виджет Осциллограф Nebula в простом приложении Java (а не в приложении OSGi), вам нужно добавить следующие JAR-файлы в путь сборки Java (Project> Properties: Java Build Path), который можно найти в plugins Подкаталог вашего установочного каталога Eclipse после установки (используйте кнопку Add External JARs...):

  • org.eclipse.swt_<version>.jar (например org.eclipse.swt_3.106.1.v20170926-0519.jar)
  • org.eclipse.swt.<platform>_<version>.jar (например org.eclipse.swt.win32.win32.x86_64_3.106.1.v20170926-0519.jar)
  • org.eclipse.equinox.common_<version>.jar (например org.eclipse.equinox.common_3.9.0.v20170207-1454.jar)
  • org.eclipse.nebula.widgets.oscilloscope_<version>.jar (например org.eclipse.nebula.widgets.oscilloscope_1.4.0.201711021145.jar)

OscilloscopeExampleTab.java требуется также адаптация для использования его в простом Java-проекте:

  • Удалить extends AbstractExampleTab
  • удалить все @Override s
  • изменить линию final String path = FileLocator.getBundleFile(Platform.getBundle(BUNDLE)).getPath(); в final String path = "wavs"; (если вы используете звуки, вы должны создать папку wavs который содержит *.wav файлы примера)
  • изменить линию } catch (IOException e) { в } catch (Throwable e) {
  • Source > Organize Imports для удаления необязательных импортов, которые не могут быть разрешены

С этими адаптациями вы можете запустить пример с помощью следующего основного метода:

public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setSize(600, 800);

    RowLayout layout = new RowLayout(SWT.HORIZONTAL);
    layout.wrap = true;
    layout.fill = true;
    layout.justify = false;
    shell.setLayout(layout);

    Composite mainArea = new Composite(shell, SWT.None);
    mainArea.setLayout(new RowLayout());

    Composite settings = new Composite(shell, SWT.None);
    settings.setLayout(new RowLayout(SWT.HORIZONTAL));

    OscilloscopeExampleTab osci = new OscilloscopeExampleTab();
    osci.createParameters(settings);
    osci.createControl(mainArea);

    shell.open ();
    while (!shell.isDisposed ()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}

Результирующий пример виджета Осциллограф туманности в виде простого Java-приложения:

Другие вопросы по тегам