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