GNU Classpath | |
---|---|
| |
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.
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.
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:
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
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 .
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.
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] .
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 .
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.
Java | |
---|---|
Alustat | |
Sun Technologies | |
Kolmannen osapuolen keskeiset tekniikat | |
Tarina |
|
Kielen ominaisuudet | |
Scripting kielet |
|
Java-konferenssit |
|
Java-virtuaalikoneet ( vertailu ) | |
---|---|
Aurinko , Oraakkeli | |
Tärkeimmät toteutukset | |
Upotettu |
|
Muut | |
Ei tuettu |
GNU projekti | ||
---|---|---|
Tarina | ||
Lisenssit |
| |
Ohjelmisto_ _ |
| |
Persoonallisuudet |
| |
Muut aiheet |
|