spring aspectj - компилируем время плетения внешних банок - PullRequest
4 голосов
/ 31 января 2011

У меня есть проект, использующий аспекты компиляции во время компиляции. Этот проект зависит от другого проекта, который включен в качестве банку. Я хочу сплести класс в файл JAR во время компиляции. Как я могу достичь этого.

Спасибо

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

Если вы используете maven, вы также можете использовать aspectj-maven-plugin. Хорошо работает с затмением (m2e).

В плагине просто укажите groupId / artifactId зависимого jar, а также в файле config / weaveDependencies / weaveDepedency.

См. http://mojo.codehaus.org/aspectj-maven-plugin/weaveJars.html

4 голосов
/ 31 января 2011

Этот jar-файл необходимо добавить в путь компилируемого проекта. Результатом будет новый набор файлов классов. Эти новые файлы классов являются ткаными и должны использоваться во время выполнения вместо оригинального jar.

Способ установки входного пути зависит от того, как вы компилируете код:

  1. В Eclipse / AJDT вы можете установить входной путь на странице свойств проекта AspectJ Build. Здесь вы также можете установить папку «in-path out», чтобы указать специальное расположение для этих файлов классов.
  2. В ant с помощью задачи iajc вы можете использовать атрибут inpath. Смотрите здесь для получения дополнительной информации: http://www.eclipse.org/aspectj/doc/released/devguide/antTasks-iajc.html
  3. При использовании команды ajc используйте опцию -inpath. Смотри здесь http://www.eclipse.org/aspectj/doc/released/devguide/ajc-ref.html.

Хитрость в том, чтобы не использовать оригинальные банки в запущенном приложении, а скорее тканые банки.

...