JDT-työkaluista usein kysyttyjä kysymyksiä

Voiko työympäristön kanssa käyttää muuta kuin sisäistä Java-kääntäjää (esimerkiksi javac-kääntäjää)?

Ei. JDT-työkalut sisältävät joukon edistyneitä toimintoja, esimerkiksi täysin automaattisen vaiheittaisen uudelleentäydennyksen, koodikatkelmien laskennan, koodinhallinnan aputoiminnon, tyyppihierarkioita ja käytönaikaisen koodinvaihdon. Nämä toiminnot edellyttävät työympäristön Java-kääntäjän (joka on olennainen osa JDT-työkalujen täydentävää projektin koontia) tukea, joka ei ole käytettävissä Java-vakiokääntäjissä.

Mistä Java-paketit ovat peräisin?

Projekti sisältää vain tiedostoja ja kansioita. Java-projektin luokkapolku esittelee Java-paketin (käyttöliittymässä luokkapolun määrittämät paketit näkyvät pakettien selausnäkymässä). Vihje: Jos paketin rakenne ei vastaa odotuksiasi, tarkista luokkapolku. Java-haun infrastruktuuri löytää vain luokkapolun Java-elementtien esittelyt ja viittaukset niistä.

Milloin käytetään sisäistä ja milloin ulkoista JAR-kirjastotiedostoa?

Sisäinen resurssi on jossakin työympäristön projektissa, joten sitä hallitaan työympäristöllä. Kuten muitakin resursseja, näiden resurssien versioita voidaan hallita työympäristöllä. Ulkoinen resurssi ei ole osa työympäristöä, ja vain viittaus voi käyttää sitä. Esimerkiksi JRE on usein ulkoinen ja hyvin iso, eikä sitä tarvitse kytkeä VCM-järjestelmään.

Milloin Java-projektissa pitäisi käyttää lähdekansioita?

Jokainen Java-projekti etsii Java-lähdetiedostonsa yhden tai usean projektin luokkapolun lähdetyyppimerkinnän avulla. Järjestä ison projektin lähdekansiot hyödylliseksi ryhmäksi tai pidä lähdekoodi erillään saman projektin muista tiedostoista. Käytä lähdekansioita myös silloin, kun sinulla on tiedostoja (esimerkiksi dokumentaatiota), joiden ei tarvitse olla koontipolussa.

Mitä lähdeliitokset ovat ja kuinka sellainen määritetään?

Kirjastot tallennetaan binaarisia luokkatiedostoja (ja ehkä muita resursseja) sisältävinä JAR-tiedostoina. Nämä binaariset luokkatiedostot antavat allekirjoitustietoja paketeille, luokille, metodeille ja kentille. Nämä tiedot riittävät käännöstä tai ajoa varten, mutta niissä on vähemmän tietoja kuin alkuperäisessä lähdekoodissa. Jotta binaaristen kirjastojen selailu ja vianmääritys olisi helpompaa, vastaava JAR-tiedosto (tai zip-tiedosto) voidaan kytkeä binaarisen JAR-tiedoston kanssa.

Miksi kaikista resursseista (esimerkiksi bin-resurssista) on kaksoiskappaleet tulostuskansiossa?

Jos Java-projekti käyttää lähdekansioita, projektin lähdetiedostojen käännöksen aikana Java-kääntäjä kopioi muut kuin Java-resurssit myös tulostuskansioon, jotta ne ovat käytettävissä ajettavan ohjelman luokkapolussa. Jos et halua, että jotkin tietyt resurssit kopioidaan tulostuspaikkaan, voit määrittää resurssin suodattimen Java-kääntäjän oletusasetuksissa: Ikkuna > Oletusasetukset > Java > Kääntäjä > Koonti.

Kuinka dokumentaatiotiedostojen kopiointi projektin tulostuskansioon estetään?

Käytä lähdekansioita ja vie ne resurssit, joita et halua kopioitavan tulostuskansioon, erilliseen kansioon, joka ei sisälly luokkapolkuun. Voit myös määrittää resurssin suodattimeksi Java-kääntäjän oletusasetuksissa esimerkiksi *.doc: Ikkuna > Oletusasetukset > Java > Kääntäjä > Koonti.

Kuinka oletuspaketti luodaan?

Oletuspakettia ei tarvitse luoda. Lähdekansion tai projektin juurikansion tiedostojen oletetaan olevan oletuspaketissa. Itse asiassa jokaisella lähdekansiolla voi olla palanen oletuspaketista.

Mitä koodinparannus on?

Koodinparannus tarkoittaa ohjelman muunnoksia siten, että toiminta säilyy ennallaan. JDT-työkalut tukevat joukkoa Martin Fowlerin kirjassa Refactoring: Improving the Design of Existing Code, Addison Wesley 1999, kuvattuja muunnoksia.

Milloin koodin valintaa / koodin tulkintaa käytetään (F3)?

Kun kääntäjän avulla halutaan löytää Java-elementti, joka vastaa lähdealuetta.

Tuottaako Java-koontitoiminto Java-ohjelmatietoja (esimerkiksi tyyppihierarkian, esittelyjä, viittauksia)? Päivittyvätkö ne, kun automaattinen koonti ei ole käytössä?

Java-ohjelmatiedot eivät ole riippuvaisia Java-koontitoiminnosta. Ne päivittyvät automaattisesti suoritettaessa resurssien muutoksia tai Java-toimintoja. Etenkin kaikki Java-työvälinejärjestelmän toiminnot (esimerkiksi tyyppihierarkiat, koodinhallinnan aputoiminto, haku) toimivat, kun automaattinen koonti ei ole käytössä. Esimerkiksi kun suoritat paljon koodinparannusta, jolloin koontitoiminnot on poistettava käytöstä, voit edelleen käyttää koodinhallinnan aputoimintoa, jossa viimeisimmät muutokset näkyvät (ei vielä kootut). Ohjelmien aloitusta (eli ajoa ja vianmääritystä) lukuun ottamatta ainoa toiminto, joka edellyttää Java-koontitoimintoa, on koodikatkelmien laskenta.

Kun työympäristö on avattu uudelleen, ensimmäinen Java-lähdetiedoston muokkauksen jälkeen tapahtuva koonti näyttää kestävän kauan. Miksi?

Javan täydentävä projektin koontitoiminto tallentaa sisäisen tilansa tiedostoon, kun työympäristö suljetaan. Projektin uudelleenavauksen jälkeen Javan täydentävä projektin koontitoiminto palauttaa sisäisen tilansa ensimmäisessä koonnissa. Jos tämä tiedosto on iso, koontiviive on epätavallisen pitkä.

Luokan tyyppihierarkiaa ei näy. Mitä pitää tehdä?

Tarkista, että koontiluokkapolku on määritetty oikein. Oikea koontiluokkapolun määritys on tärkeää suoritettaessa Java-kehitystä. Ilman oikeaa koontipolkua koodia ei voi kääntää. Lisäksi Java-elementtien tyyppihierarkioita ei voi etsiä eikä tarkastella.

Kuinka "automaattinen käännös" poistetaan käytöstä ja kuinka käännös tehdään manuaalisesti haluttaessa?

Poista oletusasetussivulla Työtilan oletusasetussivun avaus Yleiset > Työtila olevan Kokoa automaattisesti -valintaruudun valinta. Kun haluat tehdä koonnin, paina näppäinyhdistelmää Ctrl+B tai valitse valikkoriviltä vaihtoehdot Projekti > Kokoa kaikki.

Vihje: Kun poistat automaattisen koonnin käytöstä ja teet koonnin manuaalisesti, voit ehkä haluta valita oletusasetussivulla Työtilan oletusasetussivun avaus Yleiset > Työtila olevan Tallenna automaattisesti ennen koontia -valintaruudun.

Kun valitsen metodin tai kentän hahmotelmanäkymässä, vain elementin lähde näkyy muokkausohjelmassa. Miten koko tiedoston lähde saadaan näkyviin?

Sinun tarvitsee vain napsauttaa työkalurivin painiketta Näytä vain valitun elementin lähde niin, että se ei ole valittuna.

Voiko lähdekansiot sijoittaa sisäkkäin?

Kyllä, poissulkemissuodattimien avulla voidaan luoda sisäkkäisiä lähdekansioita.

Voiko jokaista lähdekansiota varten olla erillinen tulostuskansio?

Kyllä, valitse Salli lähdekansioiden tulostuskansiot -valintaruutu Java-projektin Java-koontipolku > Lähde -ominaisuussivulla.

Voiko työtilan ulkopuolella olla tulostus- tai lähdekansiota?

Kyllä, voit luoda linkitetyn kansion, joka osoittaa haluamaasi paikkaan. Voit käyttää kansiota Java-projektissa lähde- tai tulostuskansiona.

Aiheeseen liittyviä käsitteitä

Java-kehitystyökalut (JDT)

Aiheeseen liittyviä ohjeita

Java-koontipolku-sivu
JDT-sanasto