2009-12-07 36 views
24

Sun, JDK'nın Jigsaw biçiminde modülerleştirilmesinin ardında çok çaba harcıyor ve bunun diğer Java geliştiricileri için de tercih edilen modül biçimi olması gerektiğini belirtti. Bunu kullanan tek önemli oyuncu NetBeans (ve türev uygulamalar). Diğer taraftan, endüstri, OSGi'nin etrafında standartlaştırılmış, tüm büyük uygulama satıcıları, çalışma platformlarını Sun'ın kendi Glassfish'i bile olsa, modül platformuna dayandırmıştır. NetBeans kendi modülleri yerine OSGi'yi modül sistemi olarak kullanmak için NetBeans bir bağlantı noktası bile var. Maven bile bir OSGi çalışma zamanı olmaya çalışıyor.Sun, herkes OSGi'de standartlaştırıldığında neden başka bir modül sistemi icat ediyor?

Sadece NIH mi, lisans mı yoksa başka bir neden mi?

+0

Sorunuzun bir parçası olan "gerekenleri belirtmek için" referansınız var mı? Bağladığınız sayfanın, Sun'ın herkesin kullanmasını istediği önemli bir teknolojiyi tanıtmak için değil, bir araştırma projesinin ana sayfasının tonu vardır. –

cevap

4

Mükemmel bir soru. Benim anlayışım, bazı bölgelerde, OSGi'nin, JVM modülleri için gerekli olanın ötesine geçmesi (beraberinde getirdiği tüm karmaşıklık ile birlikte), diğer alanlarda ise yeterince uzağa gitmemesidir. Yani aralarında çok fazla örtüşme var ama belki de yeterli değil.

See this blog entry

8

http://blogs.oracle.com/mr/entry/jigsaw gerekçe:

OSGi hiç Ancak Java dili ile entegre edilmemişse bunun içinden ziyade Java SE Platformu üzerine inşa having been.

Bu son sorun giderilebilir. Güneş OSGi Framework gelecekteki bir sürümü tamamen kaldıraç JSR 294 ve özellikleri dolayısıyla dil ile sıkı entegrasyon elde edebilir, böylece OSGi Alliance ile doğrudan çalışmayı şimdi planlamaktadır.

(...)

oldugunda Java SE Platformu gelecekteki bir sürümü daha sonra Sun Jigsaw standart kadar modülleri göç etmek anlamına gelir sağlayacak özgül bir modül sistemi içerir. Bu arada, , 'un diğer modül sistemlerinde ve özellikle de OSGi ile birlikte çalışabileceği yolları arıyoruz.

+0

Ah, aradığım blog girişi bulamadı ve bulamadım :) – skaffman

+1

Sorun şu ki bu olmuyor. JSR294 etkili bir şekilde ölüdür ve Yapboz üzerinde herhangi bir yatağı yoktur (veya tersi). Modül anahtar kelimesinin kullanılmakta olup olmadığı, bir modül sisteminin kendisinin problemi için biraz ortogonaldir. – AlBlue

+0

@AlBlue - JSR294'ün durumu da beni şaşırtıyor. JCP sayfası, etkin olmayan olarak listelenir, ancak Jigsaw'un bir parçası olarak çalışma (görünüşte) devam eder. Onların ilgisiz kalması konusunda yanıldığınızı düşünüyorum. Jigsaw sayfası şöyle diyor: __ JSR 294__ _Working dokümanları burada yayınlanan belgeler, EG_ http://openjdk.java.net/projects/jigsaw/jigsaw/ – McDowell

1
+0

Paket alt küme modülleri kavramına rastlamamıştım - bunu tartışan herhangi bir blog veya makale biliyor musunuz? – SteveD

+1

"4. Tek bir Java paketindeki farklı türlerin farklı modüllere ait olması olmalıdır." http://altair.cs.oswego.edu/pipermail/jsr294-modularity-observer/2009-January/000002.html –

+0

Düzenleme önerisi gibi, bu yanlıştır. Aslında, açık kaynaklı bir JVM olan Harmony, bir Geordian düğümü olanlar da dahil olmak üzere modüller arasındaki araları temsil etmek için OSGi bildirimlerini zaten kullanıyor. – AlBlue

5

Jigsaw projesinin ardındaki mantık ve OSGi ile olan ilişkisi, Jigsaw ekibi tarafından Java Posse Podcast 259 numaralı belgede özetlenmiştir.

Bu projeler tamamen örtüşmüyor ve Jigsaw'un tanıtımı OSGi için ölüm kulağı gibi gelmiyor - OSGi'nin kapsamı her şeyin ötesine geçiyor Jigsaw'un girişimi. Jigsaw için çok daha fazla şey var; OSGi ekibi (dil, sınıf ve JVM uygulama değişiklikleri) sağlamak için bir konumda. OSGi'nin tasarımı mevcut JVM tasarımına dayanmaktadır - JVM'deki değişiklikler herkese fayda sağlayacaktır.

En azından bu benim what I've read numaralı telefondan.