Как устранить проблему зависимости с библиотеками OSGi при сборке PDE? - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь создать функциональный продукт, используя последнюю версию Eclipse 2020-03 (4.15.0) и нажимая ошибку Unresolved requirement ниже. У меня точно такая же проблема с Eclipse 2019-12 (4.14.0).

Эта проблема не возникает при использовании Eclipse Mars (4.5.2).

eclipse.buildId=4.15.0.I20200305-0155
java.version=1.8.0_252
java.vendor=Amazon.com Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -application org.eclipse.ant.core.antRunner -verbose -buildfile c:\Users\zoomzoom\.p2\pool\plugins\org.eclipse.pde.build_3.10.700.v20191228-1214\scripts\productBuild\productBuild.xml
Command-line arguments:  -application org.eclipse.ant.core.antRunner -verbose -debug -buildfile c:\Users\zoomzoom\.p2\pool\plugins\org.eclipse.pde.build_3.10.700.v20191228-1214\scripts\productBuild\productBuild.xml

!ENTRY org.eclipse.core.runtime 4 0 2020-04-25 23:47:13.617
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.core.runtime [6]
  Unresolved requirement: Require-Bundle: org.eclipse.equinox.common; bundle-version="[3.10.0,4.0.0)"; visibility:="reexport"

    at org.eclipse.osgi.container.Module.start(Module.java:462)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1844)
    at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1837)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1780)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1742)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1664)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

!ENTRY org.eclipse.osgi 4 0 2020-04-25 23:47:13.625
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.core.runtime_3.17.100.v20200203-0917.jar was not resolved.

!ENTRY org.eclipse.core.runtime 2 0 2020-04-25 23:47:13.631
!MESSAGE Could not resolve module: org.eclipse.core.runtime [6]
  Unresolved requirement: Require-Bundle: org.eclipse.equinox.common; bundle-version="[3.10.0,4.0.0)"; visibility:="reexport"


!ENTRY org.eclipse.osgi 4 0 2020-04-25 23:47:13.632
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:81)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1447)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1420)

Я пробовал следующее:

  1. I ' Мы убедились, что на коробке существует только файл org.eclipse.equinox.common jar версии 3.11. Я поместил файлы jar 3.11 в те же места, что и файл jar org.eclipse.core.runtime: C: \ Users \ zoomzoom.p2 \ pool \ plugins \ и C: \ eclipse \ eclipse4_15_0 \ eclipse \ plugins

  2. Я гарантировал, что начальные уровни на вкладке конфигурации моего файла .product не заданы, для этого ответа на вопрос о подобной ошибке .

  3. Я гарантировал, что разрешения для C: \ Users \ zoomzoom.p2 полностью открыты для всех пользователей.

Как мне устранить эту проблему дальше? Существуют ли утилиты, которые могут помочь мне выяснить, где они ищут необходимые библиотеки?

Редактировать: Вот скриншот файла .product. Я пробовал как с рекомендованными начальными уровнями, как показано на скриншоте, так и с ними очищенными. В Eclipse 4.5.2 он был успешно собран без указания начальных уровней, список был пустым.

enter image description here

...