zoukankan      html  css  js  c++  java
  • 基于ajc的代码编织

    基于ajc的代码编织

    示例采用AspcetJ安装目录下的/doc/examples/tracing

       1.  将aspect编织进java源代码

      1)cd example  切到example目录下

      2)ajc -argfile tracing\tracelib.lst -outjar tracelib.jar 编译生成一个只读的aspect库

      3)ajc –aspectpath tracelib.jar –argfile tracing\notrace.lst –outjar tracedapp.jar 将aspect库编织进        notrace.lst中指定的所有文件的代码中,并最终得到一个编织了aspect的程序。

      4)java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain 运行编织了的应用程序,需要包含库   aspcetjtools.jar(位于AspectJ的lib目录下)、tracelib.jar(刚用于编织应用程序的aspect库)、tracedapp.jar(经过编织的应用程序)。

       2.  将aspect编织进java字节码

      1)  cd example

      2)  编译生成应用程序的类文件

        a)  mkdir appclasses 创建一个名为appclasses的文件夹

        b)  javac –d appclasses tracing\*.java 编译所有需要的java文件,并将生成的字节码.class文件放在       appclasses目录下

        c)  jar cfM app.jar –C classes . 将classes目录下所有的class文件打包成app.jar

      3)  将aspect库编织到2)中生成的类库中

      ajc –inpath app.jar –aspectpath tracelib.jar –outjar tracedapp.jar

      4)  运行程序

        a) 运行编织了aspect的程序

        java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain

        b) 运行未经编织的程序

        java -classpath app.jar tracing.ExampleMain

    细节参考:http://www.eclipse.org/aspectj/doc/next/devguide/ajc-ref.html

  • 相关阅读:
    Help Hanzo (素数筛+区间枚举)
    How to create and apply a patch with Git
    Assembly
    GNU C 内联汇编介绍
    Arch Linux sudo: PAM authentication error: Module is unknown [Solved!]
    关于 RTL8723BS 同时开启 STA/AP 模式
    单源最短路径算法——Dijkstra算法
    Altium Designer PCB制作入门实例
    I2C 总线协议
    TarJan 算法求解有向连通图强连通分量
  • 原文地址:https://www.cnblogs.com/zztian/p/2258977.html
Copyright © 2011-2022 走看看