blog source code

Kikaha's micro Routing API was developed to provide an easy to use routing mechanism, avoiding repetitive codes while developing routes with Undertow API. Creating layers above the original framework used to decrease the runtime performance. Thus, to keep performance very close to Undertow's low-level routing API, kikaha-urouting module makes use of Java's Annotation Processing Tool(a.k.a. APT) to create a tiny layer between your code and the Undertow's API.

Almost all Build Tools (e.g. Maven, Gradle, Sbt, etc), has transparent support to APT and developers often doesn't have to care about its configurations. Java IDEs, in other hand, may not provide APT configured out-of-box. Thankfully, they ofeten provide a set of configurations parameters to make developed software well integrated with generated sources from APT based libraries.

IntelliJ IDEA

The JetBrains developers brings a default profile on its IDE that handle APT libraries out-of-box, handling transparently the generated sources and asset files. You can improve IDEA's default configurations following these instructions.

Oracle Netbeans

Netbeans developers also worked to keep development with APT-based libraries transparent. Once it was coded very close to javac API it could take the best from Oracle's compiler to make developer's life easy while developing against APT-based libraries. Read more about NetBean's APT support here.

Eclipse IDE

Eclipse is known as the most versatile development environment available. To support its huge set of plugins, Eclipse IDE developers developed a customized Java Compiler called Eclipse JDT compiler (EJC). Every plugin access and interactions with Java files are handled by EJC compiler. If have created an Eclipse project from scratch you probably won't have problems dealing with APT-base libraries.

But, if you just imported an Maven Project, you better configure Eclipse to delegate Annotation Processing to the Eclipse's compiler. However, to work correctly, m2e-apt connector should be installed first. Install it from Eclipse marketplace.

Enable JDT/APT autoconfiguration from Maven dependencies globally or per project.

Pictures linked from Immutable's documentation post about APT with Eclipse.