GNU Classpath

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. december 20-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .
GNU Classpath

GNU Classpath bemutató alkalmazás Swing felülettel
Típusú Könyvtár
Fejlesztő GNU Project (formálisan az FSF
birtokában )
Beírva C és Java
Operációs rendszer platformközi
Első kiadás 1998
Hardver platform Java virtuális gép
legújabb verzió 0,99 [1] ( 2012. március 7. )
Állapot Aktív
Engedély GNU GPL + GNU linkelési kivétel
Weboldal classpath.org
 Médiafájlok a Wikimedia Commons oldalon

A GNU Classpath egy projekt, amelynek célja a Java programozási nyelv szabványos osztálykönyvtárának ingyenes megvalósítása . A könyvtár nagy mérete ellenére a legtöbb feladat már elkészült, beleértve a Swinget , a CORBA -t és más alapvető elemeket. A Classpath fejlesztői a J2SE 1.4 és 5.0 szinte mindegyikét megvalósították . Így a Classpath olyan népszerű Java programok futtatására használható, mint a Vuze és az Eclipse .

A GNU Classpath a GNU projekt egyik legfontosabb prioritása . Bár a Sun Microsystems "hivatalos" megvalósításának forráskódja elérhető, a licenc nem teszi lehetővé a változtatások újraterjesztését. Ez komoly akadályt jelentett számos innovatív projekt számára, amelyek nem fejlődhettek a kód megváltoztatása nélkül. A GNU Classpath fejlesztői közösségébe olyan intézmények tartoznak, amelyek a Java virtuális gépek kutatására összpontosítanak, valamint olyan cégek, amelyek érdekeltek az alternatív Java futtatókörnyezetek biztosításában.

A GNU Classpath a Free Software Foundation része . Eredetileg a libgcj -vel együtt fejlesztették ki a licenc-összeférhetetlenség miatt, de a projekteket később összevonták.

Licenc

A GNU Classpath a GNU General Public License alatt jelenik meg, egy hivatkozási kivétellel . Ez egy ingyenes szoftverlicenc . Az összes kód formálisan a Free Software Foundation tulajdonában van, és ezt a tulajdonost kötik a fejlesztőkkel szembeni szerződéses kötelezettségeik.

Alkalmazások

A GNU Classpath-t számos ingyenes Java futtatókörnyezet használja (például Kaffe , SableVM , JamVM , CACAO , Jikes RVM ), mivel minden teljesen működő Java virtuális gépnek biztosítania kell a szabványos osztálykönyvtárak megvalósítását.

Egyéb alkalmazások a következők:

Történelem

A GNU Classpath fejlesztése 1998-ban kezdődött 5 fejlesztővel. Története során többször egyesült más, hasonló célokat szolgáló projektekkel ( Kaffe , libgcj). Korábban a GNU Classpath biztosította saját virtuális gépét (Japhar). Amikor a Classpath sok projektben megosztott központi könyvtár lett, a virtuális gép egyre kevesebb figyelmet kapott, és jelenleg nem támogatott.

A legtöbb hivatalos Java 1.4 API bevezetése óta a projekten belüli munka inkább a hibák felkutatására és kijavítására irányult, mint az API lefedettségére. 2006. október 24-én befejeződött az utolsó hiányzó Java 1.4 osztály, a HTMLWriter megvalósítása . A fejlesztési sebesség (matematikailag a napi új kódsorok átlagos számaként számolva) 2006-ban minden idők csúcsát érte el.

A GNU Classpath nevet Bradley M. Kuhn javasolta az egyik eredeti fejlesztőnek, Paul Fishernek. Abban az időben az ingyenes Java-megvalósítási közösségben komoly aggodalomra ad okot, hogy a Sun védjegyét alkalmazzák a Java-n az ingyenes implementációkkal szemben. Kuhn a $CLASSPATH nevet javasolta , amely a legtöbb Java rendszer által használt környezeti változó a Java könyvtárak számítógépen való elhelyezkedésének jelzésére. Mivel a $CLASSPATH gyakran kibővül a java szóval (pl . ), így a Java névadása nélkül lehetett elnevezni. Fishernek és más fejlesztőknek nem tetszett a $ és a csupa nagybetű csúnya használata, ezért a Classpath mellett döntöttek . /usr/lib/java

Fejlesztői csapat

A projektcsapat körülbelül 70 fejlesztőből (ebből jelenleg csak 20 aktív) és egy aktív karbantartóból áll. A fenntartó gondoskodik a projekt jogi oldaláról, elkészíti a projekt következő kiadásait és irányítja a minőséget. A karbantartó hozzáférést biztosít a CVS -hez is .

Egyes projektekkel ellentétben a GNU Classpath nem rendelkezik szigorú hierarchiával. A munkát a műszakilag legrátermettebbek végzik, nincs szigorú munkamegosztás. Minden kódmódosítás először javításként kerül be a vitalistába, ahol szükség esetén elutasítható. A projekt napi öt-nyolc javítást kap.

A projektnek saját tesztelőeszköze ( Mauve ) van, mintegy 175 000 teszttel és naponta ellenőrzi, hogy a projekt osztályai kompatibilisek-e a hivatalos Sun API-ban található osztályokkal.

A GNU Classpath könyvtári kódlefedettség előrehaladása a J2SE 1.4 [2] és a Java SE 5.0 [3] óta nyomon követhető .

Virtuálisgép integráció

A GNU Classpath a hivatalos Java API névtér osztályait tartalmazza. Ahol gépi kód hívásai szükségesek vagy nagyon kívánatosak , ez néhány speciálisan felépített „VM” osztályból történik (a virtuális gép egy virtuális gép). Az ilyen osztály neve megegyezik a szükséges natív metódus osztálynevével, plusz egy további virtuálisgép -előtag : VMObject, VMString stb. A virtuálisgép-osztályok elkülönítve vannak a kód többi részétől, és privát vagy végső attribútumokkal rendelkeznek. Ezen osztályok metódusai tartalmazzák a natív kulcsszót , jelezve, hogy szükség van egy támogató könyvtárra. Az ilyen könyvtárakat a Java Virtual Machine szerzői biztosítják. Ezért a GNU Classpath szinte bármilyen Java virtuális géphez csatlakoztatható, amennyiben egy ilyen gép forráskódja elérhető és módosítható.

Új nyelvi funkciók támogatása az 1.5-ös verzióban

A 0.95-ös verzió előtt a GNU Classpath minden egyes kiadása két különálló archívumból állt: az egyik a fő fejlesztési ág állapotát reprezentálta, a másik pedig egy kísérletibb ágat tartalmazott, amely támogatta a Java 1.5-ben található általánosságokat, enumokat és megjegyzéseket.

A 0.95-ös verzió óta a Java 1.5-ös kiegészítések, például a generikusok teljes mértékben beépültek a fő ágba. Az ág lehetővé teszi a GCJ számára, hogy az Eclipse fordítót (ecj) használja, hogy a Java 1.5-ös forráskódot bájtkódba fordítsa, amelyet aztán a GCJ [1] natív kóddá alakít .

Együttműködés az ingyenes Sun fordítóval

A 0.95-ös verziótól kezdve a GNU Classpath támogatja az ingyenes GPL javac fordító lefordítását és futtatását a Classpath futtatókörnyezet ( GIJ ) és fordító ( GCJ ) használatával, és lehetővé teszi, hogy a GNU Classpath osztálykönyvtárat, eszközöket és példákat maga a javac fordítsa le .

Osztályok az omg.org domainből

A GNU Classpath nem fogad el kódot nem szabad licenc alatt, vagy nem szabad licenc alatti kódból automatikusan generált kódot. A szabványos Java API számos osztályt tartalmaz az omg.org tartományból, amelyeket általában az Object Management Group által kiadott IDL -fájlokból állítanak elő . Az a licenc, amely csak a fájlok használatát engedélyezi, de nem módosítja, nem minősül ingyenesnek. Ez az oka annak, hogy az említett osztályok a GNU Classpath projektben csak a hivatalos OMG nyomtatott specifikációk alapján lettek átírva. Ezért a GNU Classpath ezen része ugyanolyan ingyenes, mint bármely más kód a projektben.

Lásd még

Jegyzetek

  1. 1 2 A GNU Classpath 0.98 "Jobb későn, mint soha" kiadása . Letöltve: 2010. július 9. Az eredetiből archiválva : 2010. július 8..
  2. GNU Classpath Library Coverage a J2SE 1.4 ellen Archiválva : 2006. július 12.
  3. GNU Classpath könyvtári lefedettség a Java SE 5.0 ellen Archiválva : 2006. július 19.

Linkek