Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [maven] AspectJ 
V
    Опции темы
efferson
Дата 20.3.2010, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009
Где: Новосибирск

Репутация: нет
Всего: нет



У меня проблема с использованием maven'овского плагина для aspectj. Цель: скомпилировать с помощью команды mvn compile классы с вшитыми аспектами. Для этого в файле pom.xml описываю следующую зависимость и плагин:

Код

<dependencies>
...
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.7</version>
</dependency>
...
</dependencies>
<build>
    <pluginManagement>
        ...
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.3</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>UTF-8</encoding>
                <showWeaveInfo>true</showWeaveInfo>
                <verbose>true</verbose>
            </configuration>
        </plugin>
        ...
     </pluginManagement>
</build>

После чего говорю maven compile. Однако, при таком раскладе аспекты не пришиваются к основным классам. Тем не менее запуск с явным указанием целей (mvn aspectj:compile aspectj:test-compile) даёт желаемый результат.

Почитав доки maven'a я решил, что плагин при подключении не добавляет свои цели в фазы test-compile и compile lifecycl'a "default", и решил задать их явно:

Код

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.3</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <encoding>UTF-8</encoding>
        <showWeaveInfo>true</showWeaveInfo>
        <verbose>true</verbose>
    </configuration>
    <executions>
        <execution>
            <id>aspectj-compile</id>
            <phase>compile</phase>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
        <execution>
            <id>aspectj:test-compile</id>
            <phase>test-compile</phase>
            <goals>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>


Однако ситуацию это не изменило. Я чего-то не понимаю в логике работы maven'a или это какой-то баг?
PM MAIL   Вверх
MaxPayneC
Дата 20.3.2010, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: нет
Всего: 9



Код

            <!--Компилятор для аспектов-->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <version>1.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>test-compile</goal>
                        </goals>
                        <configuration>
                            <complianceLevel>1.6</complianceLevel>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Мой вариант.
PM   Вверх
efferson
Дата 21.3.2010, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009
Где: Новосибирск

Репутация: нет
Всего: нет



И при это при вызове целей mvn clean compile у вас "зашиваются" аспекты? У меня к сожалению с вашим раскладом код скомпилировался обычным компилятором без учёта аспектов :(
PM MAIL   Вверх
MaxPayneC
Дата 21.3.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: нет
Всего: 9



То есть если вызывать можо плагина, аспекты привязываются, а если фазу компиле - нет?
PM   Вверх
efferson
Дата 26.3.2010, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009
Где: Новосибирск

Репутация: нет
Всего: нет



Да, именно так (
PM MAIL   Вверх
efferson
Дата 27.3.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009
Где: Новосибирск

Репутация: нет
Всего: нет



Ололо! Проблема как выяснилось была в том, что описание плагинов находилось внутри  элемента pluginManagement. Если убрать его - проблема решается автоматически.
PM MAIL   Вверх
MaxPayneC
Дата 27.3.2010, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: нет
Всего: 9



Пометьте вопрос решенным тогда, раз разобрались.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.