iajc и aspectpath - PullRequest
       26

iajc и aspectpath

2 голосов
/ 14 июля 2011

Я немного запутался с параметром aspectpath компилятора iajc.

Мой проект использует AspectJ для встраивания кода метрики в существующее приложение Swing.

Все исходные коды приложения упакованытаким образом:

com.xxx.yyy.myapp.*

Мы поместили наш аспект в пакет внутри того же проекта:

com.xxx.yyy.aop.*

Сначала проект строится с использованием javac, а выходной поток переходит в ${classes.dir}.

Затем мы вызываем iacj следующим образом:

<iajc inpath="${classes.dir}" 
                                destDir="${classes.dir}" 
                                fork="true" 
                                maxmem="${aspectj.maxmem}" 
                                verbose="true" 
                                showWeaveInfo="true" 
                                debug="true"
                                source="1.6"
                                target="1.6">

                                <classpath refid="ajclasspath"/>
                    </iajc>

и

<path id="ajclasspath">
                <path refid="classpath"/>
                <pathelement location="${scm.home}/ant_libs/aspectjrt.jar"/>
            </path>

С учетом вышесказанного, нужно ли указывать аспектный путь в iajc?

Привет

1 Ответ

1 голос
/ 16 июля 2011

Согласно документации , аналогичной classpath, aspectpath содержит только двоичные библиотеки аспектов, доступные только для чтения, которые вплетены в источники, но не включены в выходные данные.В вашем случае вы включаете ваши аспекты в вывод, и они находятся в ${classes.dir} с обычными классами.Поэтому вам не нужно указывать aspectpath, когда вы не хотите разделять свои аспекты.

...