Я создал проект Aspectj в Eclipse ide, но мне нужно его построить с помощью maven.Как создать проект aspectj с использованием maven?
У меня есть плагин maven-aspectj, но я не знаю, как его использовать.
Я создал проект Aspectj в Eclipse ide, но мне нужно его построить с помощью maven.Как создать проект aspectj с использованием maven?
У меня есть плагин maven-aspectj, но я не знаю, как его использовать.
Ниже приведены шаги, которые я выполнил, чтобы это работало. Это дало мне compile-time weaving. Если вам нужны другие стратегии, вам явно нужен другой подход (например, Spring AOP для прокси-серверов AOP).
Добавьте свойство стандартизировать версии AspectJ, который вы используете:
<properties>
<aspectj.version>1.7.2</aspectj.version>
...
Добавить зависимость времени выполнения:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
Добавить плагин AspectJ Maven:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
<configuration>
<source>1.7</source>
<target>1.7</target>
<forceAjcCompile>true</forceAjcCompile>
</configuration>
</plugin>
Я не уверен, действительно ли forceAjcCompile
имеет большой смысл, но я видел некоторые случаи, когда аспекты не применялись последовательно. Я обвиняю это (пока) в Eclipse, перезаписывая файлы классов или что-то в этом роде, следовательно, forceAjcCompile
.
Дополнительные вещи, которые я сделал:
src/main/aspects
в качестве дополнительного исходного каталога (build-helper-maven-plugin
плагин). Просто потому, что она хорошо выглядит в ЗатменииpluginExecution
/pluginExecutionFilter
для плагина AspectJ (lifecycle-mapping
plugin) и установить его на execute
и runOnIncremental
, так что и аспекты (пере-) применяется при кодировании и тестирование в Eclipse (с помощью m2e)
Это может помочь вам http://stackoverflow.com/questions/2610633/maven-compile-aspectj-project-containing-java-1-6-source –
Это также может помочь вам: [Maven + AspectJ - все шаги по его настройке] (http://stackoverflow.com/questions/12423965/maven-aspectj-all-steps-to-configure-it). – maba
Возможный дубликат [Maven + AspectJ - все шаги для его настройки] (http://stackoverflow.com/questions/12423965/maven-aspectj-all-steps-to-configure-it) –