JDK
В данной статье в качестве примера используется 64-битная операционная система Ubuntu 16.04.
SuperMap iDesktop Cross использует JDK версии JDK 1.7.0_80, также известный как Java SE Development Kit 7u80. Вы можете скачать указанный JDK с официального сайта Java. Выберите соответствующий пакет для вашей операционной системы, в данном случае для Ubuntu рекомендуется загрузить файл Linux x64 - jdk-7u80-linux-x64.tar.gz.
Откройте терминал и перейдите в нужную папку, например:
$ cd Documents/java/
Переместите скачанный файл tar.gz в текущую рабочую папку;
Распакуйте и установите файл, используя следующую команду:
$ tar zxvf jdk-7u80-linux-x64.tar.gz
Удалите файл tar.gz.
Для получения более подробной информации обратитесь к официальной инструкции по установке 64-разрядного JDK для Linux.
Далее в тексте JAVA_HOME будет использоваться для обозначения корневого каталога JDK.
SuperMap iDesktop Cross — это настольная ГИС-платформа на основе языка Java. Для управления проектами используется Maven, а для разработки поддерживаются такие среды, как IntelliJ IDEA и Eclipse.
IntelliJ IDEA предоставляет обширные и удобные инструменты для разработки и отладки, а также включает встроенный менеджер проектов Maven. Рекомендуется использовать IntelliJ IDEA в качестве инструмента разработки проекта. Скачайте IntelliJ IDEA с официального веб-сайта и установите его в любой каталог.
Обратите внимание:
Для использования последней версии IntelliJ IDEA требуется JDK версии 1.8 или выше. Если вам нужна последняя версия IntelliJ IDEA, установите JDK версии 1.8 или выше одновременно.
Скачайте Eclipse для Linux с официального веб-сайта Eclipse. Рекомендуется использовать версию Eclipse for RCP and RAP Developers. Например, можно использовать следующую команду:
$ tar zxvf eclipse-rcp-mars-linux.tar.gz
Обратите внимание:
Возможно, для последней версии Eclipse потребуется JDK версии 1.8 или выше. Если нужна последняя версия Eclipse, установите JDK версии 1.8 или выше одновременно.
Перейдите в распакованную папку eclipse и откройте файл eclipse.ini. В начале файла добавьте следующую строку:
-vm
JAVA_HOME/jre/bin
Сохраните файл, закройте его и запустите Eclipse.
SuperMap iDesktop Cross является вторичным продуктом разработки на основе SuperMap iObjects Java. Разработка и использование этого продукта требуют приобретения или настройки лицензии на SuperMap iObjects Java либо использования облачной лицензии.
Обратите внимание:
- SuperMap iDesktop Cross открыт и бесплатен, но SuperMap iObjects Java является платным продуктом. Продукт доступен для пробного использования в течение определённого времени, после чего необходимо обратиться на официальный сайт SuperMap для покупки.
- Для расширения разработки внешними пользователями рекомендуется использовать соответствующие версии тегов и SuperMap iObjects Java. В противном случае программа может не запуститься.
Загрузите необходимые компоненты SuperMap iObjects Java с официального сайта SuperMap. Здесь загружается SuperMap iObjects Java 8C SP1 Runtime for Linux. Пример команды установки:
$ tar zxvf SMO_Java_801_RumTime_13228_53527_64_x64_linux_gcc_CHS.tar.gz
Здесь OBJECTS_HOME используется для обозначения каталога компонентов. Выберите соответствующую версию для вашей 32- или 64-битной операционной системы.
Если вы впервые используете продукты SuperMap, необходимо выполнить настройку лицензии. В среде Linux для проверки лицензии и запуска продукта необходимо установить драйвер лицензии. После установки вы получите 90 дней пробной лицензии на использование продуктов SuperMap GIS.
Драйвер лицензии находится в каталоге Support/
пакета компонентов под именем aksusbd-2.0.1-i386.tar
.
Перед установкой драйвера лицензии необходимо войти в систему с правами root. В Ubuntu выполните следующие шаги для переключения на пользователя root:
1. Откройте терминал.
2. Установите пароль root (если он уже установлен, пропустите этот шаг). Команда: $ sudo passwd root
3. Войдите в систему как пользователь root. Команда: $ sudo -s
Перейдите в каталог пакета компонентов Support/
, следуя инструкциям ниже, чтобы установить драйвер.
1. Распакуйте файл драйвера. Команда: $ tar -xvf aksusbd-2.0.1-i386.tar
2. Перейдите в распакованный каталог. Команда: $ cd aksusbd-2.2.1-i386
3. Установите драйвер. Команда: $ sh dinst
Если установка не удалась, терминал может вывести следующее сообщение:
dpkg-query: no packages found matching aksusbd
The 32bit support is missing. Please install the x86 compatibility
packages required by your distribution and retry the installation.
See the installation guide for more details.
Aborting...
Выполните следующие действия, чтобы установить недостающие библиотеки поддержки:
1. $ apt-get install libc6-i386
2. $ apt-get install ia32-libs
После успешной установки повторите попытку установки драйвера.
Используйте Git, чтобы получить код. Адрес исходного кода:
Разветвления SuperMap iDesktop Cross:
Откройте терминал, перейдите в нужный каталог и используйте следующую команду для клонирования кода (возьмём в качестве примера OSChina Remote Repository). Перейдите в каталог SuperMap-iDesktop-Cross после клонирования, чтобы просмотреть весь контент проекта.
$ git clone https://git.oschina.net/supermap/SuperMap-iDesktop-Cross.git
Эта команда клонирует весь удалённый репозиторий по умолчанию в ветку develop. Однако для расширения разработки внешним пользователям требуется использовать теги версий. Поэтому следуйте следующим шагам, чтобы переключиться на нужную ветку tag.
1. **Войти в каталог SuperMap-iDesktop-Cross**
Войти в каталог SuperMap-iDesktop-Cross:
Просмотреть список всех тегов репозитория:
Выбрать нужный тег:
Примечание: тег — это снимок текущего состояния репозитория, который нельзя изменить. Если необходимо внести изменения и отправить их в текущий репозиторий, выполните следующие действия вместо шага 3:
*$ git checkout tags/<tag_name> -b <branch_name>*
Далее в тексте CROSS_HOME используется для обозначения корневого каталога проекта.
Если в правом нижнем углу CROSS_HOME есть замок, у текущего пользователя нет прав на чтение и запись, пожалуйста, переключитесь на пользователя root или откройте терминал, перейдите в каталог того же уровня, что и CROSS_HOME, и используйте следующую команду, чтобы изменить права доступа на чтение и запись:
$ sudo chmod -R 777 SuperMap-iDesktop-Cross/
Запуск программы
IntelliJ IDEA
Eclipse
Внимание: если возникают проблемы с лицензиями и т. д., обратитесь к разделу «SuperMap iObjects Java — конфигурация лицензий» в предыдущей части.
Расширение разработки
В этой части мы рассмотрим процесс расширения разработки на примере IntelliJ IDEA. Для других IDE, таких как Eclipse, процесс может немного отличаться, но организация проекта и конфигурация pom-файла остаются одинаковыми.
Создание нового проекта
Регистрация плагина
Новый созданный модуль NewPlugin должен быть зарегистрирован как плагин для SuperMap iDesktop Cross, чтобы он мог работать правильно. Откройте файл Activator.java в коде проекта и внесите следующие изменения:
public void start(BundleContext bundleContext) throws Exception { Activator.context = bundleContext;
// Регистрация плагина SuperMap iDesktop Cross
Application.getActiveApplication().getPluginManager().addPlugin("NewPlugin", bundleContext.getBundle());
// Успешная регистрация плагина
System.out.println("MyPlugin Start.");
}
После успешной регистрации вы можете приступить к разработке.
Конфигурация проекта
**
, являются обязательными для заполнения.Обратите внимание: шаблон предоставляет только базовую конфигурацию pom, которая необходима. Более подробную и богатую конфигурацию проекта можно настроить в соответствии с вашими потребностями. Файл манифеста содержит метаданные, необходимые для работы OSGI-плагина. Если есть изменения в зависимостях OSGI, перед запуском необходимо повторно сгенерировать манифест.
Зависимости
Проектные зависимости
Core, Process и Controls являются основными библиотеками проекта и обязательны для всех плагинов. Core, Process и Controls — основные библиотеки всего проекта. Core зависит от SuperMap iObjects Java и других сторонних библиотек и экспортирует их классы. Process является основным интерфейсом для визуального моделирования и предоставляет основные визуальные интерфейсы. Controls зависит от Core и Process, и эти три библиотеки составляют основную архитектуру всего проекта Cross. При разработке собственных расширений необходимо зависеть от Core и Controls.
OSGI-зависимости
Этот проект основан на стандарте OSGI R4 и использует фреймворк Felix. Различные Bundle имеют уникальные правила зависимости друг от друга. Подробная конфигурация уже включена в Maven-конфигурацию проекта.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )