为aspectj运行JDK8
我正在尝试使用JDK8运行aspectj-maven插件。 但它给出的错误如“java.lang.CharSequence类型无法解析。它是从所需的.class文件间接引用的”
有关如何解决的任何帮助,或者aspectj-maven-plugin是否支持JDK8。 我正在使用1.6版本的aspectj – maven-plugin。
我必须达到同样的目的,我疯狂地想弄清楚这一点,幸运的是我可以解决它,在这里我告诉你我做了什么:
要在Java 8中使用aspectj-maven-plugin
,您需要版本aspectj-maven-plugin 1.7(请注意,aspectj-maven-plugin 1.6适用于Java 7)。
因此,maven插件配置需要:
org.codehaus.mojo aspectj-maven-plugin 1.7-SNAPSHOT 1.8 1.8 1.8 compile test-compile
顺便说一句,所需的aspectJjar子是:
org.aspectj aspectjrt 1.8.1 org.springframework spring-aop 1.8.1 org.aspectj aspectjweaver 1.8.1
我遇到的最重要的事情是你需要手动将aspectj-maven-plugin 1.7 jar安装到你的pom.xml中,因为这个jar还没有在maven repo上。
你可以从Haus Jira那里得到它(查看附件部分):
https://jira.codehaus.org/browse/MASPECTJ-131
顺便说一下,一旦你下载它复制到你的仓库,你需要在相应的目录中创建自己的 aspectj-maven-plugin-1.7-SNAPSHOT.pom
文件。 您可以从1.6版本复制它但请确保修改以下内容:
1.7-SNAPSHOT 1.8.1 2.2.1 2.9
这就是你去的地方,希望能帮到你。
你不需要1.7-SNAPSHOT。 我在POM中有这个片段,一切正常:
org.codehaus.mojo aspectj-maven-plugin 1.5 compile 1.8 1.8 1.8 true org.aspectj aspectjrt 1.8.1 org.aspectj aspectjtools 1.8.1
解决此问题的另一种方法是将JDK级别降级到1.7。 JDK 1.7适用于版本1.4 – 1.6的aspectj-maven-plugin。
以下是显示如何在IntelliJ IDEA项目中更改JDK级别的屏幕截图:
将Project SDK设置为1.7。 有关详细信息,请参阅文档