AspectJ - компилировать исходный код Java с предварительно скомпилированными аспектами - PullRequest
1 голос
/ 17 июня 2009

Допустим, у меня есть несколько аспектов, которые я уже скомпилировал, и теперь я просто хочу скомпилировать один исходный файл, но без перекомпиляции аспектов, поскольку это занимает много времени. Есть ли способ сделать это?

Например, у меня есть следующее:

  • Trace.aj
  • Log.aj
  • Test.java

Все они были скомпилированы во время моего "build-all", и теперь я изменил Test.java и хочу перекомпилировать его, используя (уже скомпилированные) аспекты.

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Использование ткачества во время загрузки.

http://www.aspectprogrammer.org/blogs/adrian/2004/05/loadtime_weavin.html

Вот как это сделать в затмении: http://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html#enabling-load-time-weaving

0 голосов
/ 27 июня 2009

Я не уверен, что ткачество времени загрузки - правильный подход в этом случае. Обычно вы используете ткачество времени загрузки, когда хотите изменить поведение классов, которые уже скомпилированы. В этом случае вы компилируете тип теста. Если аспекты относительно стабильны, вы можете разделить их на другой проект и встроить в jar (скажем, в trace.jar), затем вы можете изменить конфигурацию AJDT, добавив jar в библиотеки аспектов (из памяти, поэтому извиняюсь, если это не точно, перейдите в свойства проекта, выберите опцию компилятора aspectj, выберите вкладку библиотеки аспектов / пути и добавьте свой аспектный jar). Это означает, что аспекты в jar будут применяться к Test.java при каждой сборке.

...