我正在尝试用JDK8运行aspectj-maven插件。但是它会给出类似这样的错误:“无法解析类型java.lang.CharSequence。它是从所需的.class文件中间接引用的”。
任何关于如何解决的帮助,或者如果aspectj-maven-plugin支持JDK8。我使用的是1.6版本的aspectj--maven-plugin。
发布于 2014-08-12 00:58:27
我必须实现同样的目标,我疯狂地试图弄清楚这一点,幸运的是,我可以解决这个问题,下面我给出我所做的:
要在Java8中使用aspectj-maven-plugin,您需要使用版本aspectj-maven-plugin1.7(请注意,aspectj-maven-plugin1.6可以在Java7上使用)。
因此,maven插件的配置需要是:
<!-- AspectJ configuration -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.7-SNAPSHOT</version>
<configuration>
<complianceLevel>1.8</complianceLevel>
<source>1.8</source>
<target>1.8</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>顺便说一句,所需的aspectJ jars是:
<!-- Spring AOP + AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.1</version>
</dependency>我遇到的最重要的事情是,你需要来手动将aspectj- maven -1.7jar安装到你的pom.xml中,因为这个jar还没有出现在maven repo中。
你可以从Haus Jira得到它(请看附件部分):
https://jira.codehaus.org/browse/MASPECTJ-131顺便说一句,一旦你下载了它并将它复制到你的存储库中,你需要在相应的目录中创建你自己的 aspectj-maven-plugin-1.7-SNAPSHOT.pom文件。您可以从1.6版复制它,但请确保您修改了以下内容:
<version>1.7-SNAPSHOT</version>
<properties>
<aspectjVersion>1.8.1</aspectjVersion>
<mavenVersion>2.2.1</mavenVersion>
<changesPluginVersion>2.9</changesPluginVersion>
</properties>这就是你要做的,希望能帮上忙。
发布于 2014-09-01 23:04:55
为此,您不需要1.7-SNAPSHOT。我在POM中有这个截图,一切都正常:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<source>1.8</source>
<target>1.8</target>
<complianceLevel>1.8</complianceLevel>
<showWeaveInfo>true</showWeaveInfo>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>发布于 2017-08-10 20:40:27
解决这个问题的另一种方法是将JDK级别降级到1.7。JDK 1.7可以与1.4 - 1.6版本的aspectj-maven-plugin很好地协同工作。
以下屏幕截图显示了如何在IntelliJ IDEA项目中更改JDK级别:

将Project SDK设置为1.7。有关更多详细信息,请参阅documentation。
https://stackoverflow.com/questions/25155905
复制相似问题