Равноденствие:Обновление пакета, потерянного после перезапуска фреймворка

StackOverflow https://stackoverflow.com/questions/1431736

  •  07-07-2019
  •  | 
  •  

Вопрос

У меня есть работающий фреймворк equinox osgi с кучей запущенных пакетов.Теперь я обновляю пакет с помощью консоли osgi через 'update .(или используйте предоставленный метод:пакет.обновление(url));

Все работает идеально...но если я полностью перезапущу osgi framework, ранее обновленный пакет снова вернется в исходное состояние (как это было до обновления).

Я использую update.configurator eclipse для поиска всех пакетов в каталоге плагинов и их установки, но я думал, что он распознает, был ли обновлен пакет.

Может кто-нибудь намекнуть мне, чего мне не хватает?

спасибо, Майкл Мангенг

Это было полезно?

Решение

Как вы начинаете Равноденствие?Вы начинаете с -clean (который уничтожит все обновления)?

Обратите внимание, что 'udpate' просто обновляет текущую копию в памяти, а не изменяет какие-либо биты в исходном JAR на диске.Если вы запускаете equinox и передаете старый пакет (но не новый), то он может вернуться в старом состоянии.

P2 несколько мешает, предполагая, что после того, как вы вырезали фрагменты пакета, после этого он остается неизменным - другими словами, P2 эффективно прерывает выполнение bundle.update() в первую очередь.Однако вам, вероятно, следует управлять битами на диске, чтобы, даже если кто-то действительно выполнит очистку, вы получили правильные данные.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top