首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为aspectj运行JDK8

为aspectj运行JDK8
EN

Stack Overflow用户
提问于 2014-08-06 16:44:56
回答 3查看 10.3K关注 0票数 9

我正在尝试用JDK8运行aspectj-maven插件。但是它会给出类似这样的错误:“无法解析类型java.lang.CharSequence。它是从所需的.class文件中间接引用的”。

任何关于如何解决的帮助,或者如果aspectj-maven-plugin支持JDK8。我使用的是1.6版本的aspectj--maven-plugin。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-12 00:58:27

我必须实现同样的目标,我疯狂地试图弄清楚这一点,幸运的是,我可以解决这个问题,下面我给出我所做的:

要在Java8中使用aspectj-maven-plugin,您需要使用版本aspectj-maven-plugin1.7(请注意,aspectj-maven-plugin1.6可以在Java7上使用)。

因此,maven插件的配置需要是:

代码语言:javascript
复制
        <!-- 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是:

代码语言:javascript
复制
    <!-- 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得到它(请看附件部分):

代码语言:javascript
复制
https://jira.codehaus.org/browse/MASPECTJ-131

顺便说一句,一旦你下载了它并将它复制到你的存储库中,你需要在相应的目录中创建你自己的 aspectj-maven-plugin-1.7-SNAPSHOT.pom文件。您可以从1.6版复制它,但请确保您修改了以下内容:

代码语言:javascript
复制
 <version>1.7-SNAPSHOT</version>

 <properties>
    <aspectjVersion>1.8.1</aspectjVersion>
    <mavenVersion>2.2.1</mavenVersion>
    <changesPluginVersion>2.9</changesPluginVersion>
 </properties>

这就是你要做的,希望能帮上忙。

票数 8
EN

Stack Overflow用户

发布于 2014-09-01 23:04:55

为此,您不需要1.7-SNAPSHOT。我在POM中有这个截图,一切都正常:

代码语言:javascript
复制
<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>
票数 2
EN

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25155905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档