JDT-lisäosat sisältävät vaiheittaisen ja erämuotoisen Java-kääntäjän Javan .class-tiedostojen lähdekoodista luomista varten. Kääntäjässä ei ole suoraa sovellusohjelmaliittymää. Se asennetaan luontitoimintona Java-projekteihin. Käännös liipaistaan tavanomaisilla ympäristön koontitoimilla.
Ympäristön koontitoimintamalli on kuvattu yksityiskohtaisesti ohjeaiheessa Projektien vaiheittaiset luontitoiminnot .
Voit kääntää projektin Java-lähdetiedostot ohjelmallisesti koontisovellusohjelmaliittymän avulla.
IProject myProject; IProgressMonitor myProgressMonitor; myProject.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, myProgressMonitor);
Java-projektissa tämä toteuttaa Java-projektin vaiheittaisen luontitoiminnon (yhdessä muiden mahdollisesti projektin koontimäärityksiin lisättyjen projektin luontitoimintojen kanssa). Muodostetut .class-tiedostot kirjoitetaan määritettyyn tulostuskansioon. Myös muita resurssitiedostoja kopioidaan tulostuskansioon.
Jos kyseessä on täysi eräkoonti, kaikki tulostuskansion .class-tiedostot voidaan 'puhdistaa' ja näin varmistaa, ettei vanhentuneita tiedostoja ole. Tätä ohjataan JDT-ydinluontitoiminnon vaihtoehdolla(CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER). Tämän vaihtoehdon oletusarvona on tulostuskansioiden siivous. Ellei tätä vaihtoehtoa palauteta, on varmistettava, että kaikki .class-tiedostot, joilla ei ole vastaavia lähdetiedostoja, ovat erillisessä luokkatiedostokansiossa luokkapolussa tulostuskansion sijaan.
Vaiheittaiset ja eräluontitoiminnot voi määrittää muilla vaihtoehdoilla, jotka ohjaavat, mitä resursseja kopioidaan tulostuskansioon. Seuraava esimerkki kuvaa, miten asetetaan resurssisuodatin niin, että tiedostoja, joiden lopussa on '.ignore', ja kansioita, joiden nimi on 'META-INF', ei kopioida tulostuskansioon:
Hashtable options = JavaCore.getOptions();
options.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, "*.ignore,META-INF/");
JavaCore.setOptions(options);
Tiedostojen nimet suodatetaan, jos ne vastaavat jotakin annetuista malleista. Kokonaiset kansiot suodatetaan, jos niiden nimi vastaa jotakin annetuista kansioiden nimistä, jotka päättyvät polun erottimeen.
Vaiheittaiset ja eräluontitoiminnot voidaan määrittää myös muodostamaan vain yksi virhe, jos .classpath-tiedostossa on virheitä. Tämä vaihtoehto on käytössä oletuksena, ja se poistaa lukuisat virheet. Täydellinen luettelo luontitoimintoihin liittyvistä vaihtoehdoista ja niiden oletusarvoista on ohjeaiheessa JDT-ydinosan luontitoiminnon vaihtoehdot.
Kääntäjän kokoonpanon voi määrittää myös JavaCore-vaihtoehtojen avulla. Voit esimerkiksi määrittää vakavuuden, jota käytetään erilaisille käännöksen yhteydessä löytyville häiriöille. Täydellinen luettelo kääntäjään liittyvistä vaihtoehdoista ja niiden oletusarvoista on ohjeaiheessa JDT-ydinosan kääntäjän vaihtoehdot.
Kun luontitoiminnon tai kääntäjän vaihtoehtoja määritetään ohjelmallisesti, on määritettävä vaihtoehdon toiminta-alue. Esimerkiksi resurssisuodattimen asetus voi koskea vain tiettyä projektia:
Hashtable options = myProject.getOptions(false); // hae vain tässä projektissa asetetut vaihtoehdot options.put(JavaCore.CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, "*.ignore,META-INF/"); myProject.setOptions(options);
Eräkääntäjäluokka sijaitsee JDT Core -lisäosan sisäisissä luokissa. Luokan nimi on org.eclipse.jdt.internal.compiler.batch.Main. Se on paketissa plugins/org.eclipse.jdt.core_3.2.0.jar
. Versiosta 3.2 alkaen luokan on voinut myös noutaa erikseen.
Noudettavan tiedoston nimi on ecj.jar. Sitä vastaava lähde on myös käytettävissä. Jos haluat ladata kyseiset tiedostot, siirry lataussivulle ja hae sieltä osio JDT Core -eräkääntäjä. Tämä JAR-tiedosto sisältää eräkääntäjän ja Javac Ant -sovittimen.
Sitä voi näin ollen käyttää erillisenä sovelluksena ja Eclipsen ulkopuolisessa Ant-koonnissa.
java -classpath org.eclipse.jdt.core_3.2.0.jar org.eclipse.jdt.internal.compiler.batch.Main
-classpath rt.jar A.java
tai
java -jar org.eclipse.jdt.core_3.2.0.jar -classpath rt.jar A.java
org.eclipse.jdt.internal.compiler.batch.Main.main(new
String[] {"-classpath", "rt.jar", "A.java"});
compile(String)
-metodi on hyödyllinen metodi eräkääntäjän toteuttamiseen Java-sovelluksessa. Sen sijaan, että kirjoittaisit
org.eclipse.jdt.internal.compiler.batch.Main.main(new
String[] {"-classpath", "rt.jar", "A.java"});
voit kirjoittaa helposti org.eclipse.jdt.internal.compiler.batch.Main.compile("-classpath
rt.jar A.java");
Oranssilla taustalöla nämä ovat ehdotetut vaihtoehdot.
Nimi | Käyttö | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Luokkapolun vaihtoehdot | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-bootclasspath <dir 1>;<dir 2>;...;<dir P> | Tämä on luettelo hakemistoista tai jar-tiedostoista, joita käytetään kääntäjän käyttämien luokkatiedostojen käynnistykseen. Ajossa olevan näennäiskoneen kirjastot ovat oletuksena käytössä. Merkinnät erotetaan ympäristön polkuerottimella.
Jokainen hakemisto tai tiedosto voi määrittää tyyppien saantisäännöt merkkien [ ja ] väliin. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-cp -classpath <dir 1>;<dir 2>;...;<dir P> |
Tämä on luettelo hakemistoista tai jar-tiedostoista, joita käytetään lähdetiedostojen käännökseen. Oletusarvo on ominaisuuden "java.class.path" arvo.
Merkinnät erotetaan ympäristön polkuerottimella.
Jokainen hakemisto tai tiedosto voi määrittää tyyppien saantisäännöt merkkien [ ja ] väliin (esim. [-X] kiellä tyypin X käyttö, [~X] älä suosittele tyypin X käyttöä, [+p/X:-p/*] kiellä paketin p kaikkien tyyppien käyttö, mutta salli p/X:n käyttö). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-extdirs <dir 1>;<dir 2>;...;<dir P> | Tämä on luettelo hakemistoista, joita käytetään zip- tai jar-tunnisteisten tiedostojen sijainnin määritykseen. Merkinnät erotetaan ympäristön polkuerottimella. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-endorseddirs <dir 1>;<dir 2>;...;<dir P> | Tämä on luettelo hakemistoista, joita käytetään zip- tai jar-tunnisteisten tiedostojen sijainnin määritykseen. Merkinnät erotetaan ympäristön polkuerottimella. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-sourcepath <dir 1>;<dir 2>;...;<dir P> | Tämä on luettelo hakemistoista, joita käytetään lähdetiedostojen määritykseen. Merkinnät erotetaan ympäristön polkuerottimella.
Jokainen hakemisto voi määrittää tyyppien saantisäännöt merkkien [ ja ] väliin. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-d <dir 1>|none | Tätä käytetään määrittämään, mihin hakemistoon muodostetut .class-tiedostot tulee vedostaa. Jos se jätetään pois, paketin hakemistorakennetta ei luoda. Jos et halua muodostaa .class-tiedostoja, käytä vaihtoehtoa -d none. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-encoding <koodauksen nimi> | Määritä lähteen oletuskoodausmuoto (mukautetun koodauksen voi määrittää myös tiedostokohtaisesti lisäämällä kunkin annetun lähdetiedoston tai -kansion nimeen loppuliitteen [<koodauksen nimi>], esimerkiksi X.java[utf8]). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yhdeensopivuusvaihtoehdot | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-target 1.1|1.2|1.3|1.4|1.5|5|5.0|1.6|6|6.0 | Tämä määrittää .class-tiedoston kohdeasetuksen.
Mahdolliset arvot ovat seuraavat:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.3 | Aseta yhteensopivuustasoksi 1.3. Implisiittinen -source 1.3 -target 1.1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.4 | Aseta yhteensopivuustasoksi 1.4. Implisiittinen -source 1.3 -target 1.2. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.5 | Aseta yhteensopivuustasoksi 1.5. Implisiittinen -source 1.5 -target 1.5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-1.6 | Aseta yhteensopivuustasoksi 1.6. Implisiittinen -source 1.6 -target 1.6. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-source 1.3|1.4|1.5|5|5.0|1.6|6|6.0 | Tämän valinnan avulla määritetään lähteen taso, jota kääntäjä odottaa. Mahdolliset arvot ovat seuraavat:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Varoitusvaihtoehdot | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-warn:allDeprecation |
Aseta varoitustaso. esim. -warn:unusedLocal,deprecation Oletusasetukset ovat punaisella.
-warn:none kaikkien varoitusten poisto käytöstä -warn:<varoitukset, erottimena ,> lueteltujen varoitusten ottaminen käyttöön -warn:+<varoitukset, erottimena ,> lisävaroitusten ottaminen käyttöön -warn:-<varoitukset, erottimena ,> tiettyjen varoitusten poistaminen käytöstä
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-nowarn | Ei varoitusta (vastaava kuin -warn:none) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-deprecation | Vastaava kuin -warn:deprecation. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vianmäärityksen asetukset | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-g[:none|:lines,vars,source] | Aseta vianmäärityksen määritteiden taso
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-preserveAllLocals | Pyydä kääntäjää nimenomaisesti säilyttämään kaikki paikallismuuttujat (vianmääritystä varten). Jos tämä jätetään pois, kääntäjä poistaa käyttämättömät paikallismuuttujat. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ohitetut asetukset (Javac-asetusten kanssa yhteensopivuutta varten) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-J<asetus> | välitä asetus näennäiskoneelle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-X<asetus> | määritä standardista poikkeava asetus. -Xemacs-vaihtoehtoa ei ohiteta. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-X | tulosta standardista poikkeavat asetukset ja lopeta | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-O | optimoi toteutuksen ajaksi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lisävaihtoehdot | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@<file> | Lue komentorivin argumentit tiedostosta | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-maxProblems <n> | Häiriöiden enimmäismäärä käännösyksikköä kohti (oletuksena on 100) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-log <filename> | Määritä lokitiedosto, johon kaikki kääntäjän tuloste vedostetaan. Tämä on erittäin hyödyllistä, jos haluat tehdä vianmäärityksen eräkääntäjälle tai saada tiedoston, jossa on kaikki virheet ja varoitukset eräkoonnista. Jos tunniste on .xml, muodostettu loki on xml-tiedosto. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-Xemacs | Emacs-tyylin avulla voi esittää virheiden ja varoitusten sijainteja konsolissa ja normaaleissa tekstilokeissa. Tämä vaihtoehto ei vaikuta XML-lokeihin. Kun tämä vaihtoehto on käytössä, sanoma:
2. VAROITUS kohteessa /workspace/X.java esitetään seuraavassa muodossa:
/workspace/X.java:8: varoitus: Metodi... |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-proceedOnError | Jatka kääntöä virheistä huolimatta, ongelmallisia metodeja tai tyyppejä sisältävät luokkatiedostot vedostetaan. Tämä vaihtoehto on suositeltava vain, jos haluat ajaa sovelluksen jäljellä olevista virheistä huolimatta. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-verbose | Tulosta käytetyt/käsitellyt käännösyksiköt konsoliin tai lokitiedostoon, jos se on määritetty. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-referenceInfo | Laske viitetiedot. Tämä on hyödyllistä vain, jos luontitoimintoon on yhteys. Muuten viitetiedot ovat hyödyttömiä. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-progress | Näytä tilannetiedot (vain -log-tilassa). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-time | Näytä nopeustiedot. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-noExit | Älä kutsu kohdetta System.exit(n) käännöksen lopussa (n=0, jos virheitä ei ole). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-repeat <n> | Toista käännöskäsittely <n> kertaa (suoritustehon analyysi). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-inlineJSR | Muunna JSR-tavukoodi koodiksi (implisiittinen, jos kohde >= 1.5). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-enableJavadoc | Ota javadocin sisällä olevat viitteet huomioon. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ohjeen vaihtoehdot | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-? -help | Näytä ohjesanoma. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-v -version | Näytä kääntäjän koontinumero. Tämä on erittäin hyödyllistä vian ilmoituksessa. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-showversion | Näytä kääntäjän koontinumero ja jatka. Tämä on erittäin hyödyllistä vian ilmoituksessa. |
d:\temp -classpath rt.jar -time -g -d d:/tmp
|
Kääntää kaikki lähdetiedostot, jotka ovat hakemistossa d:\temp ja sen alikansioissa. Luokkapolku on yksinkertaisesti rt.jar. Se luo kaikki vianmääritysmääritteet, ja kaikki muodostetut .class-tiedostot vedostetaan hakemistoon d:\tmp. Kääntäjän nopeus tulee näyttöön, kun eräkäsittely on valmis. |
d:\temp\Test.java -classpath d:\temp;rt.jar -g:none
|
Kääntää ainoastaan Test.java-tiedoston ja sen mahdolliset alisteiset tiedostot, jotka noudetaan hakemistosta d:\temp. Luokkapolku on d:\temp, jota seuraa rt.jar, eli kaikkia tarpeellisia luokkia etsitään ensin hakemistosta d:\temp ja sitten tiedostosta rt.jar. Se ei muodosta vianmäärityksen määritteitä, ja kaikki muodostetut .class-tiedostot vedostetaan hakemistoon d:\temp. |
<?xml version="1.0" encoding="UTF-8"?> <project name="compile" default="main" basedir="../."> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> <property name="root" value="${basedir}/src"/> <property name="destdir" value="d:/temp/bin" /> <target name="main"> <javac srcdir="${root}" destdir="${destdir}" debug="on" nowarn="on" extdirs="d:/extdirs" source="1.4"> <classpath> <pathelement location="${basedir}/../org.eclipse.jdt.core/bin"/> </classpath> </javac> </target> </project>Javac Ant -tehtävässä käytetty syntaksi on esitelty Ant javac -tehtävän dokumentaatiossa. Nykyinen sovitin tukee Javac Ant -tehtävien versioita 1.4.1 - 1.6.5.
Jos käytössä on versiota 1.5.0 uudempi versio, voit käyttää sisäkkäistä kääntäjän argumenttielementtiä määrittämään kääntäjäkohtaiset vaihtoehdot.
... <javac srcdir="${root}" destdir="${destdir}" debug="on" nowarn="on" extdirs="d:/extdirs" source="1.4"> <classpath> <pathelement location="${basedir}/../org.eclipse.jdt.core/bin"/> </classpath> <compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="-1.5 -warn:+boxing"/> </javac> ...
Kääntäjästä riippuvien komentosarjojen välttämiseksi on suositeltavaa valita kääntäjäargumentiksi org.eclipse.jdt.core.JDTCompilerAdapter
.
Jos tätä ei aseteta, komentosarjaa voi käyttää vain Eclipse-kääntäjän kanssa. Jos se asetetaan, sisäkkäinen kääntäjäargumentti ohitetaan, jos nimi on eri kuin ominaisuuden build.compiler
määrittämä kääntäjän nimi.
JDT-ydinosassa on määritetty erityinen merkki (merkkityyppi "org.eclipse.jdt.core.problem"), joka ilmaisee kääntäjähäiriöitä. Jotta kääntäjän tunnitamat häiriöt voisi löytää ohjelmallisesti, tulee käyttää standardinmukaista ympäristön merkkikäytäntöä. Tiivistelmä merkintöjen käytöstä on ohjeaiheessa Resurssimerkinnät.
Seuraava katkelma etsii kaikki käännösyksikön Java-häiriömerkinnät.
public IMarker[] findJavaProblemMarkers(ICompilationUnit cu) throws CoreException { IResource javaSourceFile = cu.getUnderlyingResource(); IMarker[] markers = javaSourceFile.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE); }
Java-projektin luontitoiminto pitää yllä Java-häiriömerkintöjä, ja ne poistetaan automaattisesti, kun häiriöt korjataan ja Java-lähde käännetään uudelleen.
Häiriön tunnusarvoksi asetetaan jokin rajapinnassa IProblem määritetyistä vakioista. Häiriön tunnus on luotettava, mutta sanoma on lokalisoitu, joten se voi muuttua oletuspaikallistunnuksen mukaan. IProblem -rajapinnassa määritetyt vakiot ovat itseään kuvaavia.
IProblemRequestor -toteutus tulee
määrittää keräämään Java-toiminnan aikana tunnistetut häiriöt.
Työskentelykopiot voi täsmäyttää häiriöiden tunnistuksella, jos
IProblemRequestor
on toimitettu työskentelykopioiden luomiseen. Tämän voi tehdä käyttämällä
reconcile-metodia. Esimerkki:
ICompilationUnit unit = ..; // hae jokin käännösyksikkö
// luo pyytäjä tunnistettujen häiriöiden keräystä varten
IProblemRequestor problemRequestor = new IProblemRequestor() {
public void acceptProblem(IProblem problem) {
System.out.println(problem.getID() + ": " + problem.getMessage());
}
public void beginReporting() {}
public void endReporting() {}
public boolean isActive() { return true; } // tunnistaa häiriöt, jos käytössä
};
// käytä työskentelykopiota pidättämään lähde, jossa on virhe
ICompilationUnit workingCopy = unit.getWorkingCopy(new WorkingCopyOwner() {}, problemRequestor, null);
((IOpenable)workingCopy).getBuffer().setContents("public class X extends Zork {}");
// liipaisimen täsmäytys
workingCopy.reconcile(NO_AST, true, null, null);
Voit lisätä ilmoitettujen häiriöiden toiminnon acceptProblem(IProblem)-metodiin. Tässä esimerkissä ilmoitettu häiriö on se, että Zork ei ole tulkittavissa tai se ei ole kelvollinen yliluokka ja sen tunnus on IProblem.SuperclassNotFound.
SuppressWarnings
-metodia käyttävien varoitusten poissulkeminenJava 5.0:ssa käyttäjä voi halutessaan poistaa käytöstä käännösyksikön osajoukkoon suhteessa olevat käännösvaroitukset käyttämällä huomautusta java.lang.SuppressWarning
.
@SuppressWarning("unused") public void foo() { String s; }
Jos huomautusta ei käytetä, kääntäjä varoittaisi, että paikallismuuttujaa s
ei käytetä missään.
Kun huomautusta käytetään, kääntäjä ohittaa kyseisen varoituksen paikallisesti foo
-metodiin. Tämän ansiosta varoitukset voi säilyttää saman käännösyksikön tai projektin eri sijainneissa.
SuppressWarning
-huomautuksessa voi käyttää seuraavia sanakkeita: