Я пытаюсь использовать библиотеку metrics-aspectj (https://github.com/astefanutti/metrics- аспектj), чтобы аннотированные метрики работали в моем приложении Dropwizard, но при запуске я вижу следующее исключение:

[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.8:compile (default) on project app: AJC compiler errors:
[ERROR] error Missing message: configure.incompatibleComplianceForSource in: org.aspectj.ajdt.ajc.messages
[ERROR] error no sources specified
[ERROR] abort AspectJ Compiler 1.8.7

Это то, что находится в моем файле pom:

<dependency>
  <groupId>io.astefanutti.metrics.aspectj</groupId>
  <artifactId>metrics-aspectj</artifactId>
  <version>1.2.0</version>
</dependency>
<dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjrt</artifactId>
  <version>1.8.10</version>
</dependency>

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.8</version>
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
      <aspectLibraries>
        <aspectLibrary>
          <groupId>io.astefanutti.metrics.aspectj</groupId>
          <artifactId>metrics-aspectj</artifactId>
        </aspectLibrary>
      </aspectLibraries>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>compile</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

Сведения о приложении

  • Java 8
  • Dropwizard
  • Настройка нескольких модулей
3
user2158382 21 Дек 2017 в 21:50

1 ответ

Лучший ответ

[ERROR] error Отсутствует сообщение: configure.incompatibleComplianceForSource в: org.aspectj.ajdt.ajc.messages

Будет исправлено добавлением

<complianceLevel>1.8</complianceLevel>

В дополнение к <source/> и <target/>

<complianceLevel/> по умолчанию равен 1.5, а <source/> 1.8 не имеет обратной совместимости с 1.5.

3
pirho 21 Дек 2017 в 20:23