Iam разрабатывает платформу OSGI equinox, которая должна запускать среду OSGI и консоль equinox. Я добавил пять банок в папку, называемую плагином, как часть пути к классам/buildpath, но все еще невозможно выполнить.Невозможно запустить OSGI-фреймворк на затмении или после преобразования в банку
Ниже приведена команда, которая успешно выполняется на консоли linux и открывает приглашение osgi> на консоли Linux.
ява-Dosgi.bundles = org.eclipse.equinox.console_1.1.0.v20140131-1639.jar. @ Начать, org.apache.felix.gogo.command_0.10.0.v201209301215.jar @ начать, org.apache .felix.gogo.runtime_0.10.0.v201209301036.jar @ start, org.apache.felix.gogo.shell_0.10.0.v201212101605.jar @ start -jar org.eclipse.osgi_3.10.0.v20140606-1445.jar -console
Но выше не в моем коде, который, как показано ниже
государственной статической силы основных (String [] арг) {
командной строки = "Java-Dosgi.bundles = плагин/org.eclipse.equinox .console_1.1.0.v20140131-1639.jar @ начать, пьет джин/org.apache.felix.gogo.command_0.10.0.v201209301215.jar @ старт, плагин/org.apache.felix.gogo.runtime_0.10.0.v201209301036.jar @ начать, плагин/org.apache.felix.gogo. [email protected] -jar plugin/org.eclipse.osgi_3.10.1.v20140909-1633.jar -console ";
try {
// using the Runtime exec method:
Process p = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
System.exit(0);
}
catch (IOException e) {
System.out.println("exception happened - here's what I know: ");
e.printStackTrace();
System.exit(-1);
}
}
ошибка, как показано ниже Здесь стандартный вывод команды:
Вот стандартная ошибка команды (если таковые имеются):
Ошибка: Не удается получить доступ jarfile плагин /org.eclipse.osgi_3.10.1.v20140909-1633.jar
Нет такой же проблемы даже после того, как я изменил банку !!! хотя обе команды в консоли и затмение одинаковы – chetan
Я предполагаю, что, поскольку вы теперь изменили банку, сообщение об ошибке также изменилось соответствующим образом, не так ли? Можете ли вы проверить, что обе команды (консоль и затмение) одинаковы? В качестве альтернативы вы можете попробовать передать абсолютный путь для банки, чтобы быть уверенным, что Eclipse ищет его в нужном месте. – Christina
если я даю абсолютный путь, и когда я запускаю его на eclipse и когда я конвертирую проект в jar и запускаю его как java -jar X.jar, я получаю следующий вывод без консоли osgi ** Вот стандартный вывод команды: ** – chetan