!SESSION Mon Sep 25 16:49:37 MSD 2006 ------------------------------------------
!ENTRY org.eclipse.core.launcher 4 0 2006-09-25 16:49:37.674
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.NullPointerException
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Как собрать и заставить работать приложение отдельно от среду IDE Eclipse.
Необходимо собрать и заставить работать приложение отдельно от среду IDE Eclipse.
Есть исходники приложения для Eсlipse (Java) и исходники плагинов для этого приложения (Java).
1. Собираю приложение Eslipse (под Win32) след. образом
File -> Export -> Plug-in Development -> Eclipse product
получаю лаунчер exe и файлы .eclipseproduct и startup.jar папку configuration с файлом config.ini
2. Собираю все плагины след образом
File -> Export -> Plug-in Development -> Deployable plug-ins and fragments
получаю папку plugins с собранными плагинами в JAR файлах.
3. Перемечаю папку plugins в папку с exe
также помещаю в папку plugins необходимые для работы приложения плагины org.eclipse.*
4. Запускаю exe.
получается вот такая ошибка. (См. конец сообещния)
Не подскажете в что я делаю неправильно и как правильно собрать и запустить приложение независимо от IDE ?
В среде IDE Eclipse 3.2 без отладки и с отладкой все запускется и работает нормально.
Код:
Другими словами:
Мне по наследству достались исходники приложения и кучи плагинов.
Так вот из среды это все собирается и работает.
Я хочу сделать дистрибутив, т.е. независимый исполняемый пакет или модуль, т.е. что бы приложение работало независимо от самой среды разработки Eslipse IDE а именно с плагинами org.eclipse.core.runtime.*
Уточняю вопрос
Сделал плагин
Сделал заготовку .product.
Выгружаю .product поверх rcp-platform. Выгружаю туда же свой плагин (выгрузка плагина с собой другие плагины не потянула почему-то, да и rcp-платформу не выгружает, только ланчер).
Докомплектовываю мою платформу required плагинами. Вроде всё что нужно готово.
Запускаю, появляется мой splash, а потом сообщение об ошибке. и лог:
Код:
Код:
!SESSION Mon Sep 25 16:49:37 MSD 2006 ------------------------------------------
!ENTRY org.eclipse.core.launcher 4 0 2006-09-25 16:49:37.674
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.NullPointerException
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
!ENTRY org.eclipse.core.launcher 4 0 2006-09-25 16:49:37.674
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.NullPointerException
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
С другой стороны, если взять за основу не RCP платформу а eclipse-binary, то там плагины благополучно себе работают.
Собственно вопрос:
как получить готовое RCP приложение, если есть только проекты плагинов (MyApplication implements IPlatformRunnable сидит в главном, остальные от него зависят). Т.е.:
- как првильно создать .product,
- как всё это хозяйство выгрузить?
1. На папке проекта щелкаете пр.кн.мыши->New->Other->Plug-in Development->Product Configuration->Next
2. Вводите в поле File name чтонить типа Abracadabra.product
3. Выбираете чекбокс: Use an existing product
4. Нажимаете Finish
Появляется файл Abracadabra.product, открываете его (если он еще не открыт). Для проверки нажмите Launch the product - программа должна запуститься (вроде писали что из среды все работает нормально). Закрываете ее.
5. Внизу редактора этого файла (редактора продукта) будет три закладки: Overview, Configuration и Branding. Выбираете Configuration
6. Нажимаете кнопку: Add Required Plug-ins (в списке слева добавляется все необходимые вашей программе плагины)
7. Выбераете закладку Branding
8. Что-нибудь вводите в поле Launcher Name (имя запускетмого файла) (можете еще чтонить указать, но потом)
9. Возвращаетесь на вкладку Overview
10. Нажимаете Eclipse Product export wizard
11. В группе Export Destination, выбираете чекбокс Directory и выбираете директорию куда хотите запихать продукт отдельный от эклипса (я указал c:\tmp)
12. В группе Export Options, ставите галочку Export for multiple platforms
13. Нажимаете Next
14. В списке выбираете интересующие платформы (я выбрал linux(gtk/x86) и win32(win32/x86))
15. И нажимаете кнопку Finish!!!!!!!!!!!!!!!!!
Да, и еще убедитесь, что стоит нужная версия JRE, иначе возможно любые непредсказуемости:)