Как установить проект "Туманность" в 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-приложения: