GNU Classpath

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 20. joulukuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .
GNU Classpath

GNU Classpath demosovellus Swing -käyttöliittymällä
Tyyppi Kirjasto
Kehittäjä GNU-projekti (muodollisesti FSF
:n hallussa )
Sisään kirjoitettu C ja Java
Käyttöjärjestelmä cross-platform
Ensimmäinen painos 1998
Laitteistoalusta Java-virtuaalikone
uusin versio 0,99 [1] ( 7. maaliskuuta 2012 )
Osavaltio Aktiivinen
Lisenssi GNU GPL + GNU-linkityspoikkeus
Verkkosivusto classpath.org
 Mediatiedostot Wikimedia Commonsissa

GNU Classpath on projekti, jonka tarkoituksena on luoda ilmainen toteutus Java-ohjelmointikielen vakioluokkakirjastosta . Kirjaston suuresta koosta huolimatta suurin osa tehtävistä on jo tehty, mukaan lukien Swing , CORBA ja muut ydinelementit. Classpath-kehittäjät ovat ottaneet käyttöön lähes kaikki J2SE 1.4- ja 5.0-luokat. Näin ollen Classpathia voidaan käyttää suosittujen Java-ohjelmien, kuten Vuzen ja Eclipsen , ajamiseen .

GNU Classpath on yksi GNU -projektin tärkeimmistä prioriteeteista . Vaikka Sun Microsystemsin "virallisen" toteutuksen lähdekoodi on saatavilla, lisenssi ei salli muutosten uudelleenjakamista. Tämä oli suuri este monille innovatiivisille projekteille, jotka eivät voineet kehittyä muuttamatta tätä koodia. GNU Classpath -kehittäjäyhteisöön kuuluu instituutioita, jotka keskittyvät Java-virtuaalikoneiden tutkimukseen, sekä yrityksiä, jotka ovat kiinnostuneita tarjoamaan vaihtoehtoisia Java-ajonaikaisia ​​ympäristöjä.

GNU Classpath on osa Free Software Foundationia . Se kehitettiin alun perin rinnakkain libgcj :n kanssa lisenssien yhteensopimattomuuden vuoksi, mutta projektit yhdistettiin myöhemmin.

Lisenssi

GNU Classpath on julkaistu GNU General Public License -lisenssillä linkityspoikkeuksella . Tämä on ilmainen ohjelmistolisenssi . Kaikki koodit ovat virallisesti Free Software Foundationin omistuksessa , ja tämä omistaja on sidottu sopimusvelvoitteisiinsa kehittäjiä kohtaan.

Sovellukset

GNU Classpathia käyttävät monet ilmaiset Java-ajonaikaiset ympäristöt (kuten Kaffe , SableVM , JamVM , CACAO , Jikes RVM ), koska jokaisen täysin toimivan Java-virtuaalikoneen on tarjottava standardien luokkakirjastojen toteutus.

Muita sovelluksia ovat:

Historia

GNU Classpathin kehitys alkoi vuonna 1998 viiden kehittäjän kanssa. Se on fuusioitunut useita kertoja historiansa aikana muihin projekteihin, joilla on samanlaiset tavoitteet ( Kaffe , libgcj). Aiemmin GNU Classpath toimitti oman virtuaalikoneen (Japhar). Kun Classpathista tuli monien projektien yhteinen ydinkirjasto, virtuaalikone sai yhä vähemmän huomiota, eikä sitä tällä hetkellä tueta.

Useimpien virallisten Java 1.4 -sovellusliittymien käyttöönoton jälkeen työ projektin sisällä on keskittynyt enemmän virheiden etsimiseen ja korjaamiseen kuin API-kattaukseen. 24. lokakuuta 2006 saatiin päätökseen viimeinen puuttuva Java 1.4 -luokka, HTMLWriter . Kehitysnopeus (laskettuna matemaattisesti uusien koodirivien keskimääräisenä päivässä) saavutti kaikkien aikojen ennätyksen vuonna 2006.

Bradley M. Kuhn ehdotti nimeä GNU Classpath yhdelle alkuperäisistä kehittäjistä, Paul Fisherille. Tuolloin ilmainen Java-toteutusyhteisö oli syvästi huolissaan Sunin tavaramerkin käyttämisestä Javassa ilmaisia ​​toteutuksia vastaan. Kuhn ehdotti nimeä $CLASSPATH , joka on ympäristömuuttuja , jota useimmat Java-järjestelmät käyttävät ilmaisemaan Java-kirjastojen sijaintia tietokoneessa. Koska $CLASSPATH usein laajenee sisältämään sanan java (esim . ), tämä oli tapa nimetä Java nimeämättä sitä. Fisher ja muut kehittäjät eivät pitäneet $ :n ja kaikkien isojen kirjainten rumasta käytöstä, joten he asettuivat Classpathiin . /usr/lib/java

Kehitystiimi

Projektiryhmässä on noin 70 kehittäjää (joista tällä hetkellä vain 20 on aktiivisia) ja yksi aktiivinen ylläpitäjä. Ylläpitäjä huolehtii projektin juridisesta puolesta, valmistelee projektin seuraavat julkaisut ja huolehtii laadusta. Ylläpitäjä tarjoaa myös pääsyn CVS :ään .

Toisin kuin joissakin projekteissa, GNU Classpathilla ei ole tiukkaa hierarkiaa. Työtä tekevät teknisesti osaavin, eikä tiukkaa työnjakoa ole. Kaikki koodimuutokset lähetetään ensin korjaustiedostoina keskusteluluetteloon, jossa ne voidaan hylätä tarvittaessa. Projekti saa viidestä kahdeksaan korjausta päivässä.

Projektilla on oma testaustyökalu ( Mauve ), jossa on noin 175 000 testiä ja tarkistusta päivittäin varmistaakseen, että projektin luokat ovat yhteensopivia virallisen Sun API:n kanssa.

GNU Classpath -kirjastokoodin kattavuuden edistymistä voidaan seurata J2SE 1.4 [2] ja Java SE 5.0 [3] jälkeen .

Virtuaalikoneintegraatio

GNU Classpath sisältää luokat virallisesta Java API -nimiavaruudesta. Jos konekoodin kutsuja tarvitaan tai se on erittäin toivottavaa , tämä tehdään pienestä määrästä erityisesti rakennettuja "VM"-luokkia (VM on virtuaalikone). Tällaisen luokan nimi on sama kuin vaaditun alkuperäisen menetelmän luokan nimi sekä ylimääräinen VM -etuliite : VMObject, VMString ja niin edelleen. VM-luokat pidetään erillään muusta koodista, ja niillä on paketin yksityiset tai lopulliset attribuutit. Näiden luokkien menetelmät sisältävät avainsanan natiivi osoittamaan tukikirjaston tarvetta. Tällaisia ​​kirjastoja tarjoavat Java Virtual Machinen tekijät. Siksi GNU Classpath voidaan yhdistää melkein mihin tahansa Java-virtuaalikoneeseen, kunhan tällaisen koneen lähdekoodi on saatavilla ja sitä voidaan muokata.

Tuki uusille kieliominaisuuksille versiossa 1.5

Ennen versiota 0.95 jokainen GNU Classpathin julkaisu koostui kahdesta erillisestä arkistosta: toinen edusti pääkehityshaaran tilaa ja toinen kokeellisempaa haaraa, joka tuki Java 1.5:ssä olevia lisäyksiä, kuten geneerejä, enumuksia ja huomautuksia.

Versiosta 0.95 lähtien Java 1.5 -lisäykset, kuten geneeriset tuotteet, on integroitu täysin päähaaraan. Haara sallii GCJ:n käyttää Eclipse-kääntäjää ecj kääntääkseen Java 1.5 -lähdekoodin tavukoodiksi , jonka GCJ muuttaa sitten alkuperäiseksi koodiksi [1] .

Yhteentoimivuus ilmaisen Sun-kääntäjän kanssa

Versiosta 0.95 alkaen GNU Classpath tukee ilmaisen GPL - javac - kääntäjän kääntämistä ja suorittamista käyttämällä Classpath -ajoaikaa ( GIJ ) ja kääntäjää ( GCJ ), ja sallii GNU Classpath -luokkakirjaston, työkalujen ja esimerkkien kääntämisen javacin avulla .

Luokat omg.org-verkkotunnuksesta

GNU Classpath ei hyväksy koodia ei-vapaalla lisenssillä tai automaattisesti generoitua koodista ei-vapaan lisenssin alaisena. Tavallinen Java-sovellusliittymä sisältää monia omg.org-verkkotunnuksen luokkia, jotka on yleensä luotu Object Management Groupin julkaisemista IDL -tiedostoista . Lisenssiä, joka sallii vain käyttää näitä tiedostoja, mutta ei muokata, ei pidetä maksuttomana. Tästä syystä mainitut luokat GNU Classpath -projektissa on kirjoitettu uudelleen perustuen vain virallisiin OMG-painettuihin spesifikaatioihin. Siksi tämä osa GNU Classpathista on yhtä ilmainen kuin mikä tahansa muu koodi projektissa.

Katso myös

Muistiinpanot

  1. 1 2 GNU Classpath 0.98 "Parempi myöhään kuin ei koskaan" julkaisu . Haettu 9. heinäkuuta 2010. Arkistoitu alkuperäisestä 8. heinäkuuta 2010.
  2. GNU Classpath Library Coverage vastaan ​​J2SE 1.4 Arkistoitu 12. heinäkuuta 2006.
  3. GNU Classpath -kirjaston kattavuus Java SE 5.0:aa vastaan ​​Arkistoitu 19. heinäkuuta 2006.

Linkit