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

如何使用Maven构建AspectJ项目?

弓晔
2023-03-14
问题内容

我已经在Eclipse IDE中创建了一个Aspectj项目,但是我需要使用Maven来构建它。

我有maven-aspectj插件,但不知道如何使用它。


问题答案:

以下是我执行此步骤的步骤。这给了我编译时的编织。如果您需要其他策略,显然您需要其他方法(例如用于运行时AOP代理的Spring
AOP
)。

  1. 添加一个属性以标准化您使用的AspectJ版本:
        <properties>
        <aspectj.version>1.7.2</aspectj.version>
      ...
  1. 添加运行时依赖项:
        <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
      <version>${aspectj.version}</version>
    </dependency>
  1. 添加AspectJ Maven插件:
        <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>aspectj-maven-plugin</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>test-compile</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
          </dependency>
          <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <forceAjcCompile>true</forceAjcCompile>
        </configuration>
      </plugin>

我不确定这是否forceAjcCompile真的有意义,但我发现有些情况下各个方面的应用不一致。我现在(现在)将其归咎于Eclipse覆盖类文件之类的东西,因此将forceAjcCompile

我做的其他事情:

  1. 添加src/main/aspects为额外的源目录(build-helper-maven-plugin插件)。只是因为它在Eclipse中看起来不错
  2. 为AspectJ插件(插件)添加一个pluginExecution/ 并将其设置为和,以便在Eclipse中进行编码和测试(使用m2e)时也要(重新)应用各方面。pluginExecutionFilterlifecycle-mappingexecute``runOnIncremental


 类似资料:
  • 我尝试使用mojo插件在Maven中配置sencha cmd。Maven配置如下所示: 我设置了环境变量(在我的示例中,我使用的是Windows操作系统)。当我尝试执行命令时,会出现错误: 未能在project Vehicle-Store上执行goal org.codehaus.mojo:exec-maven-plugin:1.3.2:exec(sencha-compile):命令执行失败。无法运

  • 我正在学习RESTfulWeb服务教程http://www.concretepage.com/spring-4/spring-4-rest-web-service-json-example-tomcat.Is具有spring框架依赖项。我没有下载二进制文件并将其放入lib目录,而是在pom中包含了一个依赖项。xml类似 当我右键单击-

  • 我有一个使用Maven、JPA和JavaFX的项目。我在maven中执行安装。一切都很顺利。但是当我运行jar文件时,我得到了带有异常的堆栈跟踪。 pom。xml 也是我的StackTrace 我在谷歌上搜索了这个问题,但没有找到对我有帮助的东西。 若我在引用DB的代码中注释了两行,那个么应用程序就会启动。好吧。我的应用程序找不到持久性类。我做错了什么?

  • 我已经为一个项目配置了SVN-Jenkins-Maven-Tomcat。小项目的每件事都很好。但当我试图构建包含大量JAR和包的实际项目时…它显示错误..找不到xxx包。我已经手动将依赖项JAR添加到本地maven存储库中。

  • 我有一个包含多个子项目的根项目。最初,我们将这些项目作为独立的Maven项目保留,但我意识到Gradle更适合我使用。但是对于其中一个子项目,我们宁可不将其转换为Gradle项目,而将其保留为Maven项目。 root/build.gradle root/common.gradle root/api/pom.xml

  • 问题内容: 似乎必须在使用某些特定于Eclipse的配置的“ AspectJ项目”或“ Maven项目”之间进行选择,然后尝试正确获取AspectJ的XML配置。 是否缺少某些Eclipse功能,或者是否有可以用作开始的“预制” /教程项目? PS:我正在使用Eclipse 3.7(Indigo)。 问题答案: 这是我用来学习AspectJ的pom文件。