Load time weaving enables you to write your aspects and Java classes in separate projects and defer weaving them together until the point at which the classes are loaded.
To launch a load-time weaving application:
Launching a program with the main method in a class
Launching a program with the main method in an aspect
Launching a program with an aspectpath or an outjar
Debugging a program