OSGi, Java Modularity и Jigsaw

Так что со вчерашнего утра я понятия не имел, что такое OSGi.OSGi это было просто какое-то модное слово, которое я продолжал видеть снова и снова, и поэтому я наконец выделил некоторое время, чтобы освежить его.

На самом деле это выглядит довольно круто, поэтому я хотел бы начать с того, чтобы заявить (для протокола), что я ни в коем случае не против OSGi, и это не какой-то вопрос «OSGi-bashing».

В конце концов, кажется, что OSGi - по существу - обратилсяJSR 277 на модульности Java, который признал, что есть недостатки сJAR спецификация файла, которая может привести к разрешению пространства имен и проблемам с загрузкой классов в определенных случаях. OSGi также делает много других действительно крутых вещей, но, насколько я могу убедиться, это ее самая большая ничья (или одна из них).

Для меня, как для довольно нового (уже несколько лет) разработчика Java EE, совершенно ошеломительно, что мы находимся в 2011 году и в настоящее время живем в эпоху Java 7, и что эти проблемы с загрузкой классов все еще присутствуют; особенно в корпоративных средах, где на одном сервере приложений могут быть сотни JAR-файлов, причем многие из них зависят от разных версий друг друга, и все они работают (более или менее) одновременно.

Мой вопрос:

Как бы я ни интересовался OSGi, и сколько бы я ни хотел начать изучать его, чтобы посмотреть, где / если он может быть полезен для моих проектов, у меня просто нет времени сидеть и изучать что-то такое большое, по крайней мере, сейчас.

Так что же делать разработчикам, не являющимся OSGi, когда возникают такие проблемы? какаяЯва (Oracle / Sun / JCP) решения в настоящее время существуют, если таковые имеются? Почему Jigsaw вырезали из J7? Насколько уверено сообщество, которое Jigsaw будет внедрено в следующем году в J8? Можно ли получить Jigsaw для вашего проекта, хотя он еще не является частью платформы Java?

Я думаю, что я спрашиваю здесь, это сочетание паники, интриг и лицевого щитка. Теперь, когда я наконец-то понял, что такое OSGi, я просто «не понимаю», как что-то вроде Jigsaw потребовалось более 20 лет, чтобы понять, как это можно было сделать из релиза.Это просто кажется фундаментальным.

И, как разработчик, мне также интересно узнать, какие у меня решения, без OSGi.

Также,ЗаписьЯ знаю, что это не "чистое программирование"вопрос типа, но прежде чем некоторые из вас обхватывают свои носы, я хотел заявить (опять же, для протокола), что я намеренно поставил этот вопрос на SO. Это потому, что я испытываю только уважение к своему товарищу Итак, я ищу ответ на архитектурном уровне от некоторых «Богов ИТ», которых я вижу здесь каждый день.

Но для тех из вас, кто абсолютнонастоять что SO вопрос должен быть подкреплен некоторым сегментом кода:

int x = 9;

(Спасибо всем, кто может взвесить этот OSGi / Jigsaw / classloader / namespace / JAR hell!)

Ответы на вопрос(3)

Ваш ответ на вопрос