14

我刚刚下载了 OEPE (Kepler) 并安装了 m2e 和 m2e-wtp 连接器。我发现在这个路径下:Preferences -> Maven->Lifecycle mappings->Open workspace生命周期映射数据有一个预配置的xml文件,它说maven应该忽略AspectJ的编译目标,我认为这就是AspectJ运行时库的原因未添加到项目中,因此该项目未被 Eclipse 识别为 AspectJ 项目。

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
    <pluginExecution>
        <pluginExecutionFilter>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <versionRange>1.6</versionRange>
            <goals>
                <goal>compile</goal>
            </goals>
        </pluginExecutionFilter>
        <action>
            <ignore />
        </action>
    </pluginExecution>
</pluginExecutions>

我在 xml 文件中注释掉了这些行并再次重新加载它。现在 IDE 不会在生命周期中忽略 AspectJ 插件标签,但 pom 文件抱怨它无法识别执行标签。

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<dependencies>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectj.version}</version>
    </dependency>
</dependencies>
<configuration>
    <source>1.6</source>
    <target>1.6</target>
</configuration>
<executions>
    <execution>
        <goals>
            <goal>compile</goal>
        </goals>
    </execution>
</executions>
</plugin>

使用 indigo,m2e-wtp 能够识别<execution>aspectj 插件的标签,并能够自动将 AspectJ 运行时库添加到项目中,尽管在 Kepler 中并非如此。(我认为从 pom 中制作一个 AspectJ 项目是 m2e-wtp 的工作,但不太确定。)

顺便提一句。我怎样才能让事情像在 Indigo 中一样工作?我知道我可以右键单击该项目并将其转换为方面项目以解决问题,但我希望 IDE 和插件从 pom 文件中认识到该项目需要 AspectJ jar。任何想法?

4

1 回答 1

30

这就是我的工作方式,首先通过从 AJDT 更新站点安装“AspectJ 开发工具 (AJDT)”和“AspectJ Eclipse 编译器”来验证您是否已安装 AJDT 支持:http: //download.eclipse.org/tools/ ajdt/43/update 您可以通过“帮助/安装新软件”菜单项执行此操作。

然后,通过使用此更新站点安装 AJDT M2E 手动安装 M2E 连接器:http: //dist.springsource.org/release/AJDT/configurator/

于 2013-08-26T07:42:29.313 回答