BCELを使用して javaagent.jar で jar ファイル ( main.jar ) を計測しようとしています。基本的に、バイトコードで aload を見つけるたびに、クラス「someclass」を使用して Fun() という静的関数への関数呼び出しを挿入しようとしています
if (opcode instanceof aload) {
iFactory.createInvoke("someclass", "fun", Type.VOID, new Type[]{}, Constants.INVOKESTATIC);
私の「someclass」クラスはjavaagent.jarにあります
実行中
java -javaagent:javaagent.jar -jar main.jar
また
java -javaagent:javaagent.jar -jar main.jar javaagent.jar
または(「someclass」用に someclasscontained.jar という別のjarを作成しました)
java -cp someclasscontained.jar -javaagent:javaagent.jar -jar main.jar
私は得ています
Exception in thread "main" java.lang.NoClassDefFoundError: someclass
エラー。-bootclasspath/pオプションを試しましたが、まだ動作しません。誰も手がかりを持っていますか?
(1) すべての jar は同じフォルダーに存在します 2) この質問は 1 つの質問に似ている可能性がありますが、その質問に対する解決策は正しくない/満足のいくものではないため、重複のマークを付けないでください)