私は実際のものを実装する前に単純なJavaエージェントプログラムを作成しようとしています。私はそれを実行することができません。明らかに私は何らかの設定やクラスパスの問題があります。見た目と試練の量は私に問題をもたらしませんでした。-javaagentをエラーなしで実行することができません
私が実行している場合:
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
の場合は、クラスパスの問題のようなにおいが、あなたが見ることができるように私はクラスパス上のjarファイルが含まれています。どんな助けもありがとう。非常にシンプルなプロジェクトです。
ここでは何かが明らかに奇妙です。私はUbuntuで多かれ少なかれ同じことをやってくれました。私は何が違うかは分かりません。理想的には、このタイプの問題をデバッグする方法のヒントです。 – DungeonTiger
私は1.7を使っていたはずのときにjdk1.8で私のプロジェクトをコンパイルしました。 – djangofan