Запуск Eclipse-CDT в Ubuntu 18.04 вызывает java.lang.ClassNotFoundException - PullRequest
0 голосов
/ 22 октября 2018

Я использую виртуальную машину Ubuntu 18.04 через Oracle VirtualBox.Мне нужен Eclipse (включая cdt) для проекта c ++.Поэтому я запустил на консоли следующую инструкцию:

sudo apt-get install eclipse eclipse-cdt g++

Затем дождался окончания установки.После этого я попытался запустить Eclipse, что вызвало следующую ошибку:

Произошла ошибка.См. Файл журнала /home/matthias/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1540208856928.log

Итак, я проверил файл журнала.В нем говорится следующее:

! СЕССИЯ Пн 22 октября 13:38:43 CEST 2018 -----------------------------------------! ENTRY org.eclipse.equinox.launcher 4 0 2018-10-22 13: 38: 43.262! СООБЩЕНИЕ Исключительная ситуация при запуске платформы Eclipse:! STACK java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter в java.base / java.net.URLClassLoader.findClass (URLClassLoader.java:466) в java.base / java.lang.ClassLoader.oC (класс566Main.basicRun (Main.java:584) в org.eclipse.equinox.launcher.Main.run (Main.java:1438) в org.eclipse.equinox.launcher.Main.main (Main.java:1414)

К сожалению, я абсолютный новичок в Ubuntu, а также в C ++.Я понятия не имею, что может вызвать эту проблему.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 01 февраля 2019

Я обнаружил, что в Ubuntu18.04 это связано с проблемой с упаковкой (отлажена с помощью талантливого сотрудника).Исправление было в том, чтобы вручную устанавливать файлы из старого пакета libequinox-osgi-java_3.8.1-8 , чтобы упаковка была довольна.

  1. Найдите и получите файл .deb
  2. Проверка содержимого пакета и системы на наличие совпадений
  3. Извлечение deb вручную в '/'

Команды:

$ cd /tmp
$ wget http://archive.ubuntu.com/ubuntu/pool/universe/e/eclipse/libequinox-osgi-java_3.8.1-8_all.deb

$ dpkg -c /tmp/libequinox-osgi-java_3.8.1-8_all.deb
$ dpkg -L libequinox-osgi-java

$ cd /
$ sudo dpkg -x /tmp/libequinox-osgi-java_3.8.1-8_all.deb

Примечания:

Здесь мы видим команды, которые показывают, что eclipse зависит от eclipse-rcp, который зависит от libequinox-osgi-java (> = 3.9.1), которые все установлены:

$ lsb_release -rc
Release:        18.04
Codename:       bionic

$ apt-rdepends eclipse 2>&1 | egrep '^eclipse-rcp|libequinox-osgi-java'
eclipse-rcp
  Depends: libequinox-osgi-java (>= 3.9.1)
libequinox-osgi-java

$ dpkg-query -W eclipse eclipse-rcp libequinox-osgi-java
eclipse 3.8.1-11
eclipse-rcp     3.8.1-11
libequinox-osgi-java    3.9.1-1

Эти команды показывают, что чем вне коробки затмить упорно настаивает на загрузку старшего osgi_3.8.1.dist.jar несмотря на не будучи в состоянии стата его или открыть его:

1028 *

Более старый пакет оказался тем же пакетом, что и пакет Eclipse в Ubuntu16.04.Мы попробовали несколько различных способов принудительной установки как старых, так и новых пакетов и т. Д., Но это сделало упаковку недовольной и ручное извлечение Just Worked (tm).

...