У меня есть проект, который НЕ является весенним приложением.Я пытаюсь использовать аннотации AspectJ в нем.На классы аннотаций ссылаются из другой банки, которую я имею.Я упомянул мой плагин раздел POM ниже.Моя сборка успешна, но вывод консоли Maven никогда не упоминает о плагине AspectJ, а также аннотации не работают, когда я запускаю свой проект.
Я пытался выяснить, что не так в течение нескольких часов, но могуне пойму.
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<complianceLevel>1.8</complianceLevel>
<showWeaveInfo>true</showWeaveInfo>
<aspectLibraries>
<aspectLibrary>
<groupId>it.cvc.ciscocommerce.lps.lp-commons</groupId>
<artifactId>lp-commons</artifactId>
</aspectLibrary>
</aspectLibraries>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>listpriceservice</warName>
</configuration>
</plugin>
<!-- Plugin for sdaas deployment. For compressing war to tar.gz -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/resources/assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
Это две зависимости, определенные в Jar, которые я пытаюсь использовать в качестве библиотеки аспектов.
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.7.4</version>
</dependency>
Jar скомпилирован нормально иЯ могу использовать это другое приложение SPRING, но не это.В приложении SPRING у меня даже не определен плагин аспекта maven.
Когда я запускаю сборку maven, в консоли я вижу только перечисленные ниже плагины.
[DEBUG] Цель: org.apache.maven.plugins: maven-clean-plugin: 2.5: clean (default-clean) [DEBUG] Стиль: обычный
[DEBUG] Цель: org.apache.maven.plugins:maven-compiler-plugin: 3.1: compile (default-compile) [DEBUG] Стиль: обычный
[DEBUG] Цель: org.apache.maven.plugins: maven-resources-plugin: 2.6: testResources (по умолчанию)-testResources) [DEBUG] Стиль: обычный
[DEBUG] Цель: org.apache.maven.plugins: maven-compiler-plugin: 3.1: testCompile (default-testCompile) [DEBUG] Стиль: обычный
[DEBUG] Цель: org.apache.maven.plugins: maven-surefire-plugin: 2.12.4: test (default-test) [DEBUG] Стиль: обычный
[DEBUG] Цель:org.apache.maven.plugins: maven-war-plugin: 2.4: war (default-war) [DEBUG] Стиль: Обычный
EDIT : после прочтения ответа Кригаэкса aЧто касается pluginManagement vs plugins, я изменил свой POM, как показано ниже.Обратите внимание, что мой проект не является мультимодульным, он имеет только один POM.
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<complianceLevel>1.8</complianceLevel>
<showWeaveInfo>true</showWeaveInfo>
<aspectLibraries>
<aspectLibrary>
<groupId>it.cvc.ciscocommerce.lps.lp-commons</groupId>
<artifactId>lp-commons</artifactId>
</aspectLibrary>
</aspectLibraries>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>listpriceservice</warName>
</configuration>
</plugin>
<!-- Plugin for sdaas deployment. For compressing war to tar.gz -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/resources/assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Когда я это делаю, я получаю следующую ошибку в теге выполнения под AspectJ выполнения
Выполнение плагина не охватывается конфигурацией жизненного цикла: org.codehaus.mojo: aspectj-maven-plugin: 1.4: компиляция (выполнение: по умолчанию, фаза: источники процессов)
ОБНОВЛЕНИЕ Я отмечаю этот вопрос как ответивший, так как моя первоначальная проблема с тем, что плагин AspectJ не вызывается, решена.Я открою новый вопрос по моей другой проблеме.Спасибо kriegaex за указание правильного направления.