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

  • 相关阅读:
    python归并排序
    初学者迭代python
    大数相乘
    基本蚁群算法
    MATLAB绘图,绘双坐标轴,绘一图二轴等
    为什么说TCP协议是可靠的
    TCP协议-报文段数据中的自定义包头
    net start npf启用失败
    富时A50中国指数学习笔记
    ProtoBuffer学习总结
  • 原文地址:https://www.cnblogs.com/zztian/p/2258977.html
Copyright © 2011-2022 走看看