Я пытаюсь создать простую программу агента Java, прежде чем реализовать настоящую вещь. Я не могу заставить его работать. Очевидно, у меня есть какая-то проблема с конфигурацией или путем к классу. Никакие поиски и попытки не привели меня к этой проблеме.
Если я побегу:
java -cp ./demoAgent.jar -javaagent:./demoAgent.jar com.kingtigerbooks.demoMod.Main
Я получаю следующую ошибку:
Exception in thread "main" java.lang.ClassNotFoundException: com.kingtigerbooks.demoAgent.Agent
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:280)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
FATAL ERROR in native method: processing of -javaagent failed
Abort trap
Я запускаю это на своем Mac. Файл jar с агентом находится в текущем каталоге. Манифест для jar-файла выглядит так:
Manifest-Version: 1.0
Premain-class: com.kingtigerbooks.demoAgent.Agent
Can-Redefine-Classes: true
Если пахнет проблемой пути к классу, но, как вы видите, я включил банку в путь к классу. Любая помощь будет оценена по достоинству. Это очень простой проект.