Моя команда поддерживает программное обеспечение, созданное на основе Eclipse 3.8.2 с Java 1.7. Поскольку мы пытаемся добавить функцию, для которой требуется Java 1.8, мне было поручено обновить всю нашу среду до Java 1.8, а в процессе также обновить до более новой версии Eclipse. Итак, что я сделал, так это скопировал рабочее пространство, открыл его в Eclipse 4.9.0 и устранил все ошибки, которые Eclipse выдал мне. Помимо прочего, мы используем OSGi, и у меня возникли проблемы с запуском нашего приложения в новой среде. Честно говоря, я не особо разбираюсь в OSGi. Я пытался искать ошибки, которые я получаю, но я не нашел много полезного материала по этому вопросу.
В любом случае, когда я запускаю приложение, я получаю кучу ошибок от OSGi, ссылки на пакеты не разрешены. Я не уверен, какой манифест требует этих пакетов и как мне их включить. Я трижды проверил, что в конфигурации запуска есть все плагины, которые есть в старой и рабочей версии программного обеспечения, так что это не похоже.
Трассировка, которую я получаю:
!SESSION 2019-03-12 11:13:16.942 -----------------------------------------------
eclipse.buildId=M20120208-0800
java.version=1.8.0_202
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_AT
Framework arguments: -product at.jku.mevss.product.server
Command-line arguments: -product at.jku.mevss.product.server -data D:\Eclipse Workspace for Java 8/../RCPClients/MCC -dev file:D:/Eclipse Workspace for Java 8/.metadata/.plugins/org.eclipse.pde.core/(S1) - Monitoring Server Console + Services/dev.properties -os win32 -ws win32 -arch x86 -consoleLog
!ENTRY org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.ase.ulm/ was not resolved.
!SUBENTRY 2 at.jku.ase.ulm 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(&(osgi.ee=JavaSE)(version=1.8))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.lib/ was not resolved.
!SUBENTRY 2 at.jku.mevss.lib 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(&(osgi.ee=JavaSE)(version=1.8))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.product/ was not resolved.
!SUBENTRY 2 at.jku.mevss.product 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(|(&(osgi.ee=JavaSE)(version=1.8))(&(osgi.ee=JavaSE)(version=1.7)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.eventdistributor.ui/ was not resolved.
!SUBENTRY 2 at.jku.mevss.eventdistributor.ui 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(&(osgi.ee=JavaSE)(version=1.8))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.eventdistributor.processor.core/ was not resolved.
!SUBENTRY 2 at.jku.mevss.eventdistributor.processor.core 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(|(&(osgi.ee=JavaSE)(version=1.8))(&(osgi.ee=JavaSE)(version=1.7)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.eventdistributor.server.impls/ was not resolved.
!SUBENTRY 2 at.jku.mevss.eventdistributor.server.impls 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(|(&(osgi.ee=JavaSE)(version=1.8))(&(osgi.ee=JavaSE)(version=1.7)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.checking.service.core/ was not resolved.
!SUBENTRY 2 at.jku.mevss.checking.service.core 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(&(osgi.ee=JavaSE)(version=1.8))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.eventpublisher.core/ was not resolved.
!SUBENTRY 2 at.jku.mevss.eventpublisher.core 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(&(osgi.ee=JavaSE)(version=1.8))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2019-03-12 11:13:17.682
!MESSAGE Bundle reference:file:/D:/Eclipse Workspace for Java 8/at.jku.mevss.eventdistributor.server/ was not resolved.
!SUBENTRY 2 at.jku.mevss.eventdistributor.server 2 0 2019-03-12 11:13:17.682
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(&(osgi.ee=JavaSE)(version=1.8))".
.
.
.
!SUBENTRY 2 at.jku.mevss.checking.lib 2 0 2019-03-12 11:13:17.714
!MESSAGE Missing required bundle at.jku.mevss.eventdistributor.core_0.1.0.
!SUBENTRY 2 at.jku.mevss.checking.lib 2 0 2019-03-12 11:13:17.714
!MESSAGE Missing required bundle at.jku.mevss.checking.service.core_0.1.0.
!SUBENTRY 2 at.jku.mevss.checking.lib 2 0 2019-03-12 11:13:17.714
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter = "(|(&(osgi.ee=JavaSE)(version=1.8))(&(osgi.ee=JavaSE)(version=1.7)))".
!ENTRY org.eclipse.osgi 4 0 2019-03-12 11:13:17.729
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Application "at.jku.mevss.server" could not be found in the registry. The applications available are: org.eclipse.ant.core.antRunner, org.eclipse.equinox.app.error.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
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:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
An error has occurred. See the log file
D:\Eclipse Workspace for Java 8\.metadata\.plugins\org.eclipse.pde.core\(S1) - Monitoring Server Console + Services\1552385597136.log.
Я удалил кучу строк, так как это занимало слишком много места. Совершил ли я ошибку при переходе на новый Eclipse? Я забыл изменить некоторые файлы манифеста? Могут ли быть какие-то настройки, которые необходимо изменить для новой версии Java/Eclipse?
Заранее спасибо!
Первая ошибка, которую я, кажется, обнаружил, заключается в том, что у меня была целевая платформа для старой установки eclipse, которая не поддерживает Java 8. Теперь я переключил целевую платформу на новую Eclipse 4.9.0, и теперь я работа с новыми проблемами, связанными с банками SWT
Но, похоже, он работает на Java 7? Обычно Eclipse автоматически создает возможности для osgi.ee 1.8 при работе на Java 8.
В нем говорится, что java.version=1.8.0_202 - он должен работать на Java 8. Я полагаю, вы используете старую версию eclipse, еще не поддерживающую Java 8. Убедитесь, что вы используете Luna или новее. Откройте свой org.eclipse.osgi.jar и посмотрите, определяет ли он JavaSE-1.8.profile.





Вы работаете на Java 8? Одним из громких и ясных требований, которое отсутствует, является поддержка среды выполнения Java 1.8.