To tell the JVM to invoke a Java Instrumentation agent before the main class of a Jar file, you usually have to invoke it with a command option:
java -javaagent:agent.jar program.jar
Having to type this out every time is pretty inconvenient, so is there a way to specify the agent in the program.jar
manifest?
# program.jar/META-INF/MANIFEST.MF
...
Java-Agent: agent.jar
Java 9 adds the Launcher-Agent-Class attribute which can be used on executable JAR files to start an agent before the main class is loaded.