Должен ли я обновлять aspectJ при миграции с java 6 на 8? - PullRequest
0 голосов
/ 03 марта 2020

Моя версия AspectJ по-прежнему работает на версии 1.6.8 в Java 6 Project.

Предположим, я перехожу на Java 8.

Должен ли я обновить версию AspectJ? Это обязательно?

Если да, есть ли вещи, о которых я должен знать?

1 Ответ

0 голосов
/ 04 марта 2020

Этот вопрос ранее был помечен как дубликат, но я проголосовал за его повторное открытие, потому что другой вопрос был о совместимости плагина AspectJ Maven с Java 8, и ответы там ничего не объясняют явно, чтобы ответьте на этот вопрос.

AspectJ 1.6.x был опубликован для Java 6, так же, как AspectJ 1.7.x был для Java 7, 1.8.x для Java 8, 1.9.x для Java 9-13 на дату написания этого.

Сказав это, вы должны учитывать следующее:

  • Если вы просто используете компилятор Java 8 но скомпилируйте ваш код Java 6 с целью 1.6, теоретически вы можете продолжить использовать AspectJ 1.6.8 (например, время выполнения).
  • Но как только вы скомпилируете с целью 1.8 и / или используете Java 8 языковых функций, вы должны использовать AspectJ 1.8.x (я рекомендую последнюю версию) хотя бы для того, чтобы компилятор AspectJ и ткач могли понимать эти языковые функции и байт-код вообще.
  • Я бы даже рекомендую использовать последняя версия 1.9.x, она обратно совместима и может содержать несколько исправлений ошибок, отсутствующих в 1.8.x. Но это необязательный выбор. Я всегда использую последнюю версию AspectJ даже в Java 8.
...