Ich versuche, ein einfaches Java-Agent-Programm zu erstellen, bevor ich die echte Sache implementieren. Ich kann es nicht zum Laufen bringen. Offensichtlich habe ich irgendeine Art von Konfiguration oder Klassenpfadproblem. Keine Menge des Suchens und Versuchens hat mir das Problem verursacht.Kann nicht -Javaagent ohne Fehler ausführen
Wenn ich laufen:
java -cp ./demoAgent.jar -javaagent:./demoAgent.jar com.kingtigerbooks.demoMod.Main
bekomme ich folgende Fehlermeldung:
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
ich diese auf meinem Mac laufen lasse. Die JAR-Datei mit dem Agenten befindet sich im aktuellen Verzeichnis. Das Manifest für die JAR-Datei sieht wie folgt aus:
Manifest-Version: 1.0
Premain-class: com.kingtigerbooks.demoAgent.Agent
Can-Redefine-Classes: true
Wenn Gerüche wie ein Klassenpfad Problem, aber wie man sehen kann ich das Glas auf den Klassenpfad aufgenommen haben. Jede Hilfe wäre willkommen. Es ist ein sehr einfaches Projekt.
Etwas ist hier eindeutig merkwürdig. Ich habe mehr oder weniger dasselbe auf Ubuntu gemacht und es hat funktioniert. Ich sehe nicht, was anders ist. Idealerweise möchte ich Hinweise zum Debuggen dieser Art von Problemen geben. – DungeonTiger
Ich habe diesen Fehler bei der Kompilierung meines Projekts mit jdk1.8, als ich 1.7 hätte verwenden sollen ... – djangofan