У меня есть рабочее пространство Eclipse (Kepler Service Release 2) с несколькими проектами, которые можно разделить на две части. Первая часть содержит все проекты, кроме одного.Запустить проект Eclipse, который содержит IApplication из другого проекта
Они зависят друг от друга, и один из этих проектов является предшествующей точкой входа для выполнения. Назовем это «проектом А».
Теперь я создал проект B, который образует вторую часть. Мне нужно запустить проект A из проекта B, получить от него некоторые результаты вычислений и продолжить работу над этими результатами (включая ввод и обработку файлов пользователем).
Поскольку проект A является IApplication, я не знаю, как его запустить. (Он не содержит основного метода, только XMLFile с «некоторыми» параметрами содержится в проекте.)
Сначала я создал обычный проект Eclipse и добавил проект A как зависимость, что позволило мне создать экземпляр нужный класс из проекта A, но я не могу запустить метод public Object start(IApplicationContext context)
, так как ему нужен IApplicationContext. Интуитивно я попытался включить необходимый класс и создать контекст самостоятельно.
После признания того, что этот подход не сработает, я искал информацию об IApplication (Context), и теперь я предполагаю, что эти классы доступны только в Eclipse-Plugin Development.
Поскольку я никогда не создавал Eclipse-PlugIn, я не уверен, сможет ли он выполнить все мои описанные потребности. Более того, я попытался создать тестовый плагин с учебником this, но я не могу найти «Запуск приложения Eclipse» прямо в первой инструкции.
Итак, может ли кто-нибудь дать мне совет относительно запуска IApplication?
В случае, если это имеет значение, это выдержка из файла конфигурации XML, о котором я упоминал ранее. Это называется "ClassIWantToStart".launch
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="automaticAdd" value="false"/>
<booleanAttribute key="automaticValidate" value="false"/>
<stringAttribute key="bootstrap" value=""/>
...
</launchConfiguration>
Он также содержит StringAttributes как target_bundles
и org.eclipse.jdt.launching.VM_ARGUMENTS
, которые содержат огромное количество атрибутов.
PS: Проект А, как представляется, Eclipse, плагин сам
Я благодарен за каждый совет.
Если он использует 'IApplication', это Eclipse Rich Client Program (RCP), который должен запускаться как отдельная программа –
Нет возможности запустить его из другого проекта? – Nazrim
Вы можете запустить его как отдельную программу, но это, вероятно, вам не поможет. Если RCP состоит из плагинов, вы можете использовать плагины отдельно от RCP. Или вы можете написать новые плагины для добавления в RCP. –