2

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 つの質問に似ている可能性がありますが、その質問に対する解決策は正しくない/満足のいくものではないため、重複のマークを付けないでください)

4

1 に答える 1