#spring-boot #aspectj #aspectj-maven-plugin
#весенняя загрузка #aspectj #aspectj-maven-plugin
Вопрос:
Я сталкиваюсь с проблемой, которая, кажется, решена здесь, мой аспект, который нуждается в AspectJ. Существует
> "if()"
состояние в моем аспекте.
Я включил этот плагин.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
</plugin>
В разделах управления плагинами есть это.
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</execution>
</executions>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
<complianceLevel>1.8</complianceLevel>
<!--<sources>
<source>
<basedir>src/main/java</basedir>
<includes>
<include>**/MyAspect.java</include>
</includes>
</source>
</sources>-->
</configuration>
</plugin>
Ошибка заключается в следующем.
[INFO] --- aspectj-maven-plugin:1.8:compile (default) @ enterprise ---
[INFO] Showing AJC message detail for messages of types: [error, warning, fail]
[WARNING] Field value processing of @ConfigurationProperty meta-data is not supported
<unknown source file>:<no line information>
[ERROR] Internal compiler error: java.lang.IllegalStateException: Failed to write metadata at
org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor.writeMetaData(ConfigurationMetadataAnnotationProcessor.java:385)
Если я добавлю пустой <sources/>
тег, плагин не найдет никакого кода AspectJ для компиляции.
Если я добавлю весь <sources/>
тег, как показано выше, я снова получу ту же ошибку.
Единственная альтернатива, которую я вижу, — перейти к конфигурации AspectJ LTW, которая здесь не нужна. Есть какие-нибудь советы?
Обновление: теперь я использую LTW, что не так просто. Но все же я не понял эту проблему с компиляцией.