从java6迁移到8时,我应该更新aspectJ吗



我的AspectJ版本仍然是1.6.8版本,在Java 6项目上运行。

假设我迁移到Java 8。

我应该更新AspectJ版本吗?它是强制性的吗?

如果是的话,我有什么需要注意的吗?

这个问题以前被标记为重复,但我投票重新打开它,因为另一个问题是关于AspectJ Maven插件与Java 8的兼容性,那里的答案没有明确解释任何内容来回答这个问题

在撰写本文之时,AspectJ 1.6.x是为Java 6发布的,就像AspectJ 1.7.x是为Java7发布的,1.8.x是为Java8发布的,1.9.x是为Java 9-13发布的一样。

话虽如此,你应该考虑以下几点:

  • 如果您只使用Java 8编译器,但使用目标1.6编译Java 6代码,理论上您也可以继续使用AspectJ 1.6.8(例如运行时(
  • 但是,一旦使用目标1.8和/或Java 8语言功能进行编译,就必须使用AspectJ 1.8.x(我推荐最新版本(,以便使AspectJ编译器和weaver完全理解这些语言功能和字节码
  • 我甚至建议使用最新的1.9.x版本,它向后兼容,并且可能在1.8.x中缺少一些错误修复。但这是一个可选的选择。即使在Java8中,我也总是使用最新的AspectJ版本

最新更新