public interface MyLauncherInterface {
}
public class MyLauncher implements MyLauncherInterface {
@Override
public void premain(String args) {
System.out.println("Performing pre-initialization...");
}
@Override
public void agentmain(String args) {
System.out.println("Performing runtime operation...");
}
@Override
public void main(String[] args) {
System.out.println("Running the main program...");
}
}
public class MyMainProgram {
public static void main(String[] args) {
MyLauncher launcher = new MyLauncher();
launcher.premain("pre-init");
launcher.agentmain("runtime");
launcher.main(args);
}
}
`java -javaagent:path/to/myLauncher.jar MyMainProgram`