当前位置: 首页 > 面试题库 >

为AspectJ运行JDK8

易波涛
2023-03-14
问题内容

我正在尝试使用JDK8运行Aspectj-
Maven插件。但是它给出了诸如“无法解析类型java.lang.CharSequence的错误。它是从所需的.class文件中间接引用的”

有关如何解决的任何帮助,或者Aspectj-maven-plugin是否支持JDK8。我正在使用AspectJ–Maven插件的1.6版本。


问题答案:

我必须达到相同的目标,而且我疯狂地试图弄清楚这一点,所幸我可以解决它,在这里,我给你我所做的:

aspectj-maven-plugin与Java 8一起使用,您需要版本Aspectj-maven-plugin 1.7(请注意,aspectj-
maven-plugin 1.6适用于Java 7)。

因此,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-plugin 1.7
jar安装到pom.xml中,因为该jar尚未在maven存储库中。

您可以从Haus Jira获得它(请参见附件部分):

https://jira.codehaus.org/browse/MASPECTJ-131

顺便说一句,将其下载到副本后,您需要在相应目录中创建 自己的 aspectj-maven- plugin-1.7-SNAPSHOT.pom文件。您可以从1.6 BUT版本复制它, 以确保 您修改以下内容:

 <version>1.7-SNAPSHOT</version>

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

这就是您要做的所有事情,希望对您有所帮助。



 类似资料:
  • 我正在尝试用JDK8运行aspectj-maven插件。但是它给出了一些错误,比如“无法解析java.lang.CharSequence类型。它是从必需的。class文件间接引用的” 任何有关如何解析的帮助,或者aspectj-maven-plugin是否支持JDK8。我使用的是1.6版本的AspectJ--maven-plugin。

  • 问题内容: 我正在将项目从Java 7迁移到Java 8,而我遇到的问题与使用进行AspectJ编织有关。 根据Haus文档,我可以使用在Java 6和7上运行的此插件成功配置编织。但是问题是,我还没有找到使用(和找到)支持Java 8的插件版本7的任何方法。我在这里看到插件7添加了Java 8支持,但是找不到使用它的方法。 这是我需要的配置插件: 我确认上述使用1.6版的代码对于Java 7可以

  • AspectJ是一个面向方面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。

  • 我的建议是正确执行并预先准备正确的操作,除了执行两次。我希望它只执行一次。应该触发通知的方法只执行一次,因为startTestSuite标题只在日志中打印一次。bean和上下文是在TestNG类中生成的。我尝试在initSpring()方法上使用@beforeClass和@beforeSuite标记运行它,结果相同。 进一步的上下文:这样做的目的是获取测试套件何时开始和结束的时间戳,以及各个测试何

  • 问题内容: 当我将https更改为tomcat 7.0的server.xml中的安全连接时 从IDE运行Tomcat时出现错误 造成原因:java.io.FileNotFoundException:C:\ Documents and Settings \ User.keystore(系统找不到指定的文件),位于java.io.FileInputStream.open(本机方法) 但是运行tomca

  • 当我在tomcat 7.0的server.xml中为安全连接更改https时 这两个怎么了?请解释我!多谢了。