2017-07-26 12 views
0

ByteBuddyをテストするための簡単なプロジェクトを作成しました。私は、参照ライブラリとして、バイト仲間-1.7.1.jarを追加しました私はラファエル・ヴィンによって作られたチュートリアルでまったく同じコードを入力したが、それはByteBuddyをJavaプロジェクトで使用する方法

1) ByteBuddyAgent cannot be resolved. 
    2) type cannot be resolved to a variable. 
    3) builder cannot be resolved. 
    4) method cannot be resolved to a variable. 

多少の誤差を示します。

public class LogAspect { 

public static void main(String[] args){ 
    premain("", ByteBuddyAgent.installOnOpenJDK()); 
    Calculator calculator = new Calculator(); 
    int sum = calculator.sum(10, 15, 20); 
    System.out.println("Sum is "+ sum); 
} 

public static void premain(String arg, Instrumentation inst){ 

    new AgentBuilder.Default() 
    .rebase(type -> type.getSimpleName().equals("Calculator")) 
    .transform((builder, typeDescription) -> builder 
      .method(method -> method.getDeclaredAnnotations().isAnnotationPresent(Log.class)) 
      .intercept(MethodDelegation.to(LogAspect.class).andThen(SuperMethodCall.INSTANCE))) 
      .installOn(inst); 
} 


public static void intercept(@Origin Method method){ 
    System.out.println(method.getName()+" is called."); 
} 

} 

@interface Log{ 

} 

class Calculator { 
@Log 
public int sum(int... values) { 

    return Arrays.stream(values).sum(); 
} 

} 

答えて

0

0 * araという非常に古くなったチュートリアルを使用しているようです。コンパイル時のエラーを確認するにはIDEを使用し、最新のチュートリアルについてはcheck the webpageを使用してください。

関連する問題