Wtyczka APT wzbogaca środowisko Eclipse o obsługę przetwarzania adnotacji Java 5 przez uruchamianie procesorów adnotacji napisanych, aby umożliwić korzystanie z interfejsów API Mirror w środowisku Eclipse.
Te procesory adnotacji są uruchamiane w trakcie wpisywania tekstu w środowisku Eclipse, dzięki czemu błędy i ostrzeżenia są wyświetlane bezpośrednio w edytorze, a normalne artefakty budowania są generowane tak, jakby korzystać z narzędzia apt firmy Sun z wiersza komend.
Bardziej szczegółowe informacje o sposobie działania wtyczki można znaleźć w serwisie WWW projektu JDT-APT.
Następnie należy włączyć przetwarzanie adnotacji za pomocą opcji Java->Kompilator->Przetwarzanie adnotacji:
W tym oknie dialogowym można również, w razie potrzeby, określić katalog generowanego kodu źródłowego, a także podać inne niezbędne opcje procesora.
Uwaga: opcje "-Aclasspath" i "-Asourcepath" są przez środowisko Eclipse automatycznie przekazywane do wszystkich procesorów, więc nie trzeba ich podawać.
Jako niektórych opcji przekazywanych do procesorów adnotacji można użyć ścieżek. Również w tym przypadku, aby uniknąć ręcznego wpisywania ścieżek bezwzględnych, można współużytkować konfigurację w kontroli źródła.
Aby było to możliwe, obsługujemy zmienne ścieżki klasy w opcjach procesorów. Zmienne muszą być z obu stron ograniczone znakami %, a ponadto być pierwszym segmentem ścieżki.
Jeśli zatem FOO jest zmienną ścieżki klasy, która wskazuje ścieżkę d:/foo, to łańcuch %FOO%/bar.txt zostanie rozpoznany jako ścieżka d:/foo/bar.txt. Rozpoznawanie ścieżek klasy zależy od tego, czy istnieje zmienna ścieżki klasy; jeśli nie, do opcji środowiska dodawany jest surowy łańcuch. Plik bar.txt (w tym przykładzie) nie musi jednak istnieć.
Zarezerwowana zmienna ROOT ma specjalne znaczenie: jest katalogiem główny obszaru roboczego i prezentuje zasób projektu. Jeśli zatem projekt nazywa się np. quux, to łańcuch %ROOT%/quux zostanie rozpoznany jako ścieżka bezwzględna quux, a łańcuch % ROOT%/quux/.classpath zostanie rozpoznany jako ścieżka bezwzględna quux/.classpath. W przypadku korzystania ze zmiennej ROOT pierwszy segment ścieżki musi istnieć: w tym przykładzie projekt quux musi istnieć, ale .classpath nie musi.