javac – kompilator języka Java, będący częścią Java Development Kit (JDK). Odczytuje kod źródłowy zapisany w języku Java i kompiluje go do plików klas o rozszerzeniu .class, zawierających kod bajtowy wykonywany przez wirtualną maszynę Javy (JVM).

Kompilator przyjmuje kod źródłowy zgodny ze specyfikacją języka Java (Java Language Specification) i generuje pliki klas zgodne ze specyfikacją wirtualnej maszyny Javy (Java Virtual Machine Specification). javac może również przetwarzać adnotacje znajdujące się w kodzie źródłowym i plikach klas.

Działanie Podstawowym wejściem kompilatora są pliki z rozszerzeniem .java. W typowym przypadku plik zawierający klasę HelloWorld może zostać skompilowany poleceniem:

javac HelloWorld.java

W wyniku kompilacji powstaje plik HelloWorld.class, który może zostać wykonany przez wirtualną maszynę Javy. Podczas kompilacji javac rozwiązuje również zależności pomiędzy deklaracjami klas i interfejsów oraz może automatycznie kompilować potrzebne pliki źródłowe.

Kompilator udostępnia opcje pozwalające m.in. określić lokalizację plików wynikowych i zależności, włączyć dodatkowe ostrzeżenia oraz kompilować kod przeznaczony dla wcześniejszych wersji platformy Java. Opcja --release pozwala wskazać wersję platformy, dla której ma zostać przygotowany kod wynikowy.

Dostęp programistyczny javac może być używany nie tylko jako program uruchamiany z wiersza poleceń, lecz także bezpośrednio z aplikacji napisanych w Javie. Platforma udostępnia w tym celu interfejs javax.tools.JavaCompiler, umożliwiający programistyczne uruchamianie kompilatora.

Implementacja systemowego kompilatora Javy znajduje się w module jdk.compiler. Moduł ten udostępnia również interfejsy umożliwiające dostęp do abstrakcyjnego drzewa składniowego (AST) kodu źródłowego oraz mechanizmy pozwalające wywoływać javac z poziomu innych programów.

Przypisy

Linki zewnętrzne

Dokumentacja polecenia javac w dokumentacji Oracle

Kategoria:Java Kategoria:Kompilatory